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

Uploaded Source

Built Distributions

antipathy-0.83.1-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

antipathy-0.83.1-py2-none-any.whl (13.5 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: antipathy-0.83.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for antipathy-0.83.1.tar.gz
Algorithm Hash digest
SHA256 8056c7f1f4e174edf8c079e866f7c6bba94112a3acca5a20aaa27286eba6a10e
MD5 a6b75b8456751e31520f305279b6eb61
BLAKE2b-256 7900e1330fab26abffffb869bcd0e1e334cbea85831f748aa000bdfd13d06c62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for antipathy-0.83.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9baf45ac44dc843fc39ea77a54500698977dfeee987a43f0f298efed414b0414
MD5 8111a8a121e6dbc3b43bc658143f886d
BLAKE2b-256 068bb2de7377c1663fadc26a1b355c59b8e315dfd637ec0a38a389566fdc7dfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for antipathy-0.83.1-py2-none-any.whl
Algorithm Hash digest
SHA256 878ca216f3f745529c5636feb51bb64163af8aa21c8498b16a1bcda1523a3738
MD5 44bb1a4c30c8468231ff4628da4e1382
BLAKE2b-256 0ed05b5fecda7d8ce4a6a8f97f119eb5c67a5b6e7d0574647fc2abe739cf70f5

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