Skip to main content

Object-oriented filesystem paths

Project description

pathlib offers a set of classes to handle filesystem paths. It offers the following advantages over using string objects:

  • No more cumbersome use of os and os.path functions. Everything can be done easily through operators, attribute accesses, and method calls.

  • Embodies the semantics of different path types. For example, comparing Windows paths ignores casing.

  • Well-defined semantics, eliminating any warts or ambiguities (forward vs. backward slashes, etc.).

Requirements

Python 3.2 or later is required.

Install

easy_install pathlib or pip install pathlib should do the trick.

Examples

Importing the module classes:

>>> from pathlib import *

Listing Python source files in a directory:

>>> p = Path('.')
>>> [x for x in p if x.ext == '.py']
[PosixPath('test_pathlib.py'), PosixPath('setup.py'),
 PosixPath('pathlib.py')]

Listing subdirectories:

>>> [x for x in p if x.is_dir()]
[PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'),
 PosixPath('__pycache__'), PosixPath('build')]

Navigating inside a directory tree:

>>> p = Path('/etc')
>>> q = p['init.d/reboot']
>>> q
PosixPath('/etc/init.d/reboot')
>>> q.resolve()
PosixPath('/etc/rc.d/init.d/halt')

Querying path properties:

>>> q.exists()
True
>>> q.is_dir()
False
>>> q.st_mode
33261

Opening a file:

>>> with q.open() as f: f.readline()
...
'#!/bin/bash\n'

Documentation

The full documentation can be read at Read the Docs.

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

pathlib-0.3.tar.gz (27.8 kB view details)

Uploaded Source

File details

Details for the file pathlib-0.3.tar.gz.

File metadata

  • Download URL: pathlib-0.3.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pathlib-0.3.tar.gz
Algorithm Hash digest
SHA256 fbf7a43ab854391202845ce8f6c4acbfc3dd5fd1b4bc689f3b5433c8d9231c32
MD5 7fdba672539288d269629c4879daa3d3
BLAKE2b-256 946b2239738ba4f46b917cabdbd1d8bdc7c443a9498a6fa83dad388a785a872b

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