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.83.10.tar.gz (22.6 kB view details)

Uploaded Source

Built Distributions

antipathy-0.83.10-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

antipathy-0.83.10-py2-none-any.whl (13.3 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.83.10.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.2

File hashes

Hashes for antipathy-0.83.10.tar.gz
Algorithm Hash digest
SHA256 b4873750c01f29ddff9d00cc13124d59c04038e3c6aa18c96b65b8f9c94e1ac1
MD5 de22120bbfd9a2e6905e6de887bd6ba6
BLAKE2b-256 44ad6d06a41d31c3dba0dffcfc20d8c50760af09bb28a0e3732c3be394bb947e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.10-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.2

File hashes

Hashes for antipathy-0.83.10-py3-none-any.whl
Algorithm Hash digest
SHA256 6b571fcf006116d79eef06307d15f7ed68f56ea6760bd8aba0116cad05e79d29
MD5 8692b5d381abddf30d07328f0284e77c
BLAKE2b-256 878eaceb1168997be1b2d8ee0d6aa4beb25ee11b18d9d55a58fc735fa14e38e4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.10-py2-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.2

File hashes

Hashes for antipathy-0.83.10-py2-none-any.whl
Algorithm Hash digest
SHA256 d0be263f84afe9c3fd81602b91d5b724a9e82e3cba18757819b37fd14141a692
MD5 d36677af055805491d28ec6bcf78adcb
BLAKE2b-256 9b26cedf288b319e06c34e44a8229a068b3faef6402ae37560fc128a35456a81

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