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

Uploaded Source

Built Distributions

antipathy-0.83.8-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

antipathy-0.83.8-py2-none-any.whl (13.2 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.83.8.tar.gz
  • Upload date:
  • Size: 22.2 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.8.tar.gz
Algorithm Hash digest
SHA256 1031c0636549667de1d8f737fda6651e46eb9691addfc78856153e5e2b104c07
MD5 fd45959a0078d26b96854ccaa92c7c3f
BLAKE2b-256 43b56bd96126078a19a77ccf90412a15987ea8b90208256f45f3fac86af3e8fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.8-py3-none-any.whl
  • Upload date:
  • Size: 13.2 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a6e5aa18559b863352fa9bdc3332cef4d5577fd350c842835417979b2641a760
MD5 a6d6ec82e9bee6b651b3eca73f23fd8a
BLAKE2b-256 3ed469191b80e81bdad86bf3e010212dfb40d8953b69b3cd24c89d6ef5884d6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.8-py2-none-any.whl
  • Upload date:
  • Size: 13.2 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.8-py2-none-any.whl
Algorithm Hash digest
SHA256 4fd462157f8e56dba10b0644b6cdca735e065c346514dd9ed398a263a46c8c9d
MD5 933b61d70f4e52a5b84bc7a72b0da783
BLAKE2b-256 9e8ae3517a6f0bc96793ecce061c66e83075400f0872c536e0d0b1d672452f44

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