Skip to main content

oo view of file paths and names, subclassed from bytes/str/unicode

Project description

Tired of calling a function for every path manipulation you need to do?

Is:

>>> path, filename = os.path.split(some_name)
>>> basename, ext = os.path.splitext(filename)
>>> basename = basename + '_01'
>>> new_name = os.path.join(path, basename+ext)

wearing on your nerves?

In short, are you filled with antipathy [1] for os.path?

Then get antipathy and work with Path:

>>> from antipathy import Path
>>> some_name = Path('/home/ethan/source/my_file.txt')
>>> backups = Path('/home/ethan/backup/')
>>> print some_name.path
'/home/ethan/source/'
>>> print some_name.ext
'.txt'
>>> print some_name.exists()
True  # (well, if it happens to exist at this moment ;)
>>> backup = backups / some_name.filename + '_01' + some_name.ext
>>> print backup
'/home/ethan/backup/my_file_01.txt'
>>> some_name.copy(backup)

Because Path is a subclass of bytes/str/unicode, it can still be passed to other functions that expect a bytes/str/unicode object and work seamlessly [2].

[1] https://www.google.com/#q=antipathy

[2] in most cases – there are a few places that do a type check instead of an isinstance check.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

antipathy-0.84.0.tar.gz (23.8 kB view details)

Uploaded Source

Built Distributions

antipathy-0.84.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

antipathy-0.84.0-py2-none-any.whl (24.2 kB view details)

Uploaded Python 2

File details

Details for the file antipathy-0.84.0.tar.gz.

File metadata

  • Download URL: antipathy-0.84.0.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2rc1+

File hashes

Hashes for antipathy-0.84.0.tar.gz
Algorithm Hash digest
SHA256 93c7058cca96dcde042f9dd88b61dd6cecc06da9f2146743986b15efdb81f8e6
MD5 04e2ee62ce73d899b9e4199c6e552b39
BLAKE2b-256 a4733cc04a195ff2ffeb40e1b473d132d6e33e6062017a3fb48fd6ee9dcc3089

See more details on using hashes here.

File details

Details for the file antipathy-0.84.0-py3-none-any.whl.

File metadata

  • Download URL: antipathy-0.84.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2rc1+

File hashes

Hashes for antipathy-0.84.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4248577bec4daf03ef04a59d453663e56b382f05b064bf9babbc8c6ff45d17cf
MD5 d8d12586790a994a5472776face7aae9
BLAKE2b-256 fadc314707afbb52428bcf84beb52cb81f113a5c8cda5dcd5fda48b3a5adce63

See more details on using hashes here.

File details

Details for the file antipathy-0.84.0-py2-none-any.whl.

File metadata

  • Download URL: antipathy-0.84.0-py2-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2rc1+

File hashes

Hashes for antipathy-0.84.0-py2-none-any.whl
Algorithm Hash digest
SHA256 e26c059fbedf37227b43779a891f50a323a780fbb02821e086a5cafc7022a333
MD5 35b1e09293ecc65ade219133d774525c
BLAKE2b-256 fd65d98201061bb26880beb45e49aa4cf1f6c3e79359518f917430208819af7d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page