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

Uploaded Source

Built Distributions

antipathy-0.83.7-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

antipathy-0.83.7-py2-none-any.whl (12.8 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.83.7.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15rc1

File hashes

Hashes for antipathy-0.83.7.tar.gz
Algorithm Hash digest
SHA256 7996ad848fed4d547b04806f8d5b2de3e7bb717fa18eadc6fd0683f01f726d2f
MD5 463905b6efcbc270ad681c4a71ab57c5
BLAKE2b-256 33f6bd8d02bf44a58127abe80b3d070027d9e4960e4b1c2d7c42227a3f10752a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.7-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15rc1

File hashes

Hashes for antipathy-0.83.7-py3-none-any.whl
Algorithm Hash digest
SHA256 343aacde64a110a56bb32aff94aa7f8f90ab430a9ad0a6d8964e113b7bb87e08
MD5 088f781f5d5c7b2a4b238c74e6770b9e
BLAKE2b-256 591be6bc80e255badacec9555db82538a263ad261b663459ff6a5e562b2cbeda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.7-py2-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15rc1

File hashes

Hashes for antipathy-0.83.7-py2-none-any.whl
Algorithm Hash digest
SHA256 c39c48ee96d80dd4f981d9e0df14375f9e1a5fe3c57f1fb05269ddf5efd8b0a2
MD5 70dbd05ff31070467f6cf951b7595ff7
BLAKE2b-256 3b8dee500286ca578949794c03a6bdab6263567f9bda81c6a418eb24fa977d38

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