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

Uploaded Source

Built Distributions

antipathy-0.83.9-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

antipathy-0.83.9-py2-none-any.whl (13.3 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.83.9.tar.gz
  • Upload date:
  • Size: 22.3 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.9.tar.gz
Algorithm Hash digest
SHA256 a292b391e6c09cd0f328cf140d91d486e7f8725011fe8a017658b56d375b11f8
MD5 06b6e4909623dce28f1ce6246e5a3a24
BLAKE2b-256 963b237cbf231c44c7e208a0e94ddcab3749cee1c444c5f816bf7743e88b31e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.9-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 2dca3ef61eaaeca763e1201043956fa0cc2925feeb9dd7fc0d35544337bfd82a
MD5 4207b1b93a22155263b0ff57b80bbd66
BLAKE2b-256 d59b596308403ead2670f27ac1d5a9098667222011544156fd790fb52d19acf4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antipathy-0.83.9-py2-none-any.whl
  • Upload date:
  • Size: 13.3 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.9-py2-none-any.whl
Algorithm Hash digest
SHA256 ae46d4e4ba317eb4054dadddb203cdfc8a832700290df9bc51d7f8d4636e8a12
MD5 901cef72aa4455cd66bf7446184b1518
BLAKE2b-256 c222323d0ea2dd227bd2cc2304770a18f5c888640c43c8d50f576d286d4ca925

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