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

Uploaded Source

Built Distributions

antipathy-0.85.1-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

antipathy-0.85.1-py2-none-any.whl (24.4 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for antipathy-0.85.1.tar.gz
Algorithm Hash digest
SHA256 0f745568f489eadb84598257332b1c83bfa409d2a66b3e7801c7117a7c4f0e77
MD5 9b51439f51702d4c30bcba8d7b1d6480
BLAKE2b-256 e160b5883639be17b462032d6434fdf0b0cdd52f7e79aa5075d64cc4ab3ef668

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for antipathy-0.85.1-py3-none-any.whl
Algorithm Hash digest
SHA256 54e90b906dcdcf4e30731c17e59d3af3a08502165f14ddfddd17204b87d5f4f9
MD5 d341b73b47f110404b4bc7d4692ea8bf
BLAKE2b-256 a619f02597d98bdfee7a6ba49e7c16e5fb41965fdfd697859b1b769588641b8c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for antipathy-0.85.1-py2-none-any.whl
Algorithm Hash digest
SHA256 006c6f128d465e7447bc64f6967e07454758517ec8742c2c50b3bf89baf45f33
MD5 2b3913e9a0451eb4aab0df6c4145b348
BLAKE2b-256 4da78a3f9651df3c6e4f7f0ffce375891264720dc42fad4bbf31c28e16697eac

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