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

Uploaded Source

Built Distributions

antipathy-0.85.2-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

antipathy-0.85.2-py2-none-any.whl (24.6 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.85.2.tar.gz
  • Upload date:
  • Size: 24.1 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.2.tar.gz
Algorithm Hash digest
SHA256 3f5be62a0944caaa7333a1aa643eb8234912dc55d8f547b05befb3775d36c381
MD5 dda77b47ce3c8d6edbfaefa17e346d69
BLAKE2b-256 7df294ac8ee4681adc449609cd8c49fde344b82d949e9b1450202f4d38af9c78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.85.2-py3-none-any.whl
  • Upload date:
  • Size: 24.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc4085b886f391cefd61418ccb4a9854005d78acbfdcd7877c1966a95cb011ce
MD5 8f9b14dfa8f1d4bd154a2770b57d1392
BLAKE2b-256 cea4f2ab95405d678a0747581622bc695241152cede525f366b051b2f71949a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.85.2-py2-none-any.whl
  • Upload date:
  • Size: 24.6 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.2-py2-none-any.whl
Algorithm Hash digest
SHA256 29b0d6b4b29546f50a2151ecc7a7d27f869e432ca4e93cec151128672ffb65a9
MD5 5c5583ac396295a10f62e7c32e7cf04e
BLAKE2b-256 4bab0ad3e456876cd1d4f5e3bc8b27ba1759d71c76992331912eaeee3be18dd6

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