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

Uploaded Source

Built Distributions

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

Uploaded Python 3

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

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.83.6.tar.gz
  • Upload date:
  • Size: 20.2 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.6.tar.gz
Algorithm Hash digest
SHA256 70d6a3a2022ce0494bb4eb145413b7959e43403510eb2da8ed1ad85a973f62e6
MD5 826e3a7670f0751f526983087f94fd64
BLAKE2b-256 1e27351eb931a9e80bdb73347eae910cac32a347272d3ce06ec58b97acdedaf1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ddcca2e224e2e3e20e1b2e19b6dc79d89f404d8a1b5b49c69139f35e4da61b25
MD5 b000404f203bcc604f91c73023bf6cda
BLAKE2b-256 894967760e06657250ffc140771f020bf7af74050aee166b03b7f0454552fc2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.6-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.6-py2-none-any.whl
Algorithm Hash digest
SHA256 6722da7a7ec64b478666aebc7104e40968b964049a27d33ba664c2c6d6514195
MD5 db1a622af7077eab543ffded3a778d49
BLAKE2b-256 245258d042347865bdfddda24b1e46051299cba531790f36c0005517ab17b540

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