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

Uploaded Source

Built Distributions

antipathy-0.82.7-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

antipathy-0.82.7-py2-none-any.whl (12.1 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for antipathy-0.82.7.tar.gz
Algorithm Hash digest
SHA256 0a24b0210b835de6c797f06d688987290135e5ae413523683fb0334a4484413a
MD5 28a7c3e68a607775a038b4efbc8e12a0
BLAKE2b-256 359a166fb59c8953896fd440995c4eb2b73642af84aec93b6278821938d3d5bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for antipathy-0.82.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5a80416c00401ee0fe33b08206cdc04ffcda73b32e807be8247e313c26020d62
MD5 ba4e7dddac624add0ae1bd64e637df4b
BLAKE2b-256 bdf281edd20ef7563ddee2942fc563d373e08017b39f5fd298ffef765452b27d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for antipathy-0.82.7-py2-none-any.whl
Algorithm Hash digest
SHA256 226f2933bc4bad1ad353851dfcf528adef0e77179d64f6bf12a00227dde509a7
MD5 d45443aeac6a97e8bb41c95a119d22a7
BLAKE2b-256 af42464d2920bf501e277b55914424520bb5d75f2cbb588260ded1b574c60d45

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