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

Uploaded Source

Built Distributions

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

Uploaded Python 3

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

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.84.1.tar.gz
  • Upload date:
  • Size: 23.8 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.84.1.tar.gz
Algorithm Hash digest
SHA256 3ad11504c4d22072648a80217093dc4c828942932d13caa186be70834971021e
MD5 f9331e51d4cb70b38565f33d7fb32e06
BLAKE2b-256 8542a97d4d98d376472fa1b5170d7b89550d00efa74563806b22292b2a32746e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.84.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.84.1-py3-none-any.whl
Algorithm Hash digest
SHA256 931e5c3d6bb9cec468340aa2b6e162dcc309342adcf96a395902729b66c664c3
MD5 05e579cb14cb5382f479b32d47b9348c
BLAKE2b-256 dd0afcf0dce052ae8c0cfe0c6ef02587018ef849bef2f3dea4d178b011bb9940

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.84.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.84.1-py2-none-any.whl
Algorithm Hash digest
SHA256 b0e2ec1edeb50406c82ce581c40264b6fdfe850e3add072c9d4fb25b959d7979
MD5 d615444e91fcf20073b952397926512f
BLAKE2b-256 8fff3d982efeafcce8ca5b21928aae533d92f06f21b7b7e074da32e780bfe26a

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