pathlib (original) (raw)

Attention: this backport module isn’t maintained anymore. If you want to report issues or contribute patches, please consider the pathlib2 project instead.

Description

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

Requirements

Python 3.2 or later is recommended, but pathlib is also usable with Python 2.7 and 2.6.

Install

In Python 3.4, pathlib is now part of the standard library. For Python 3.3 and earlier, 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:

list(p.glob('*.py')) [PosixPath('test_pathlib.py'), PosixPath('setup.py'), PosixPath('pathlib.py')]

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

Opening a file:

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

Documentation

The full documentation can be read at Read the Docs.

Contributing

Main development now takes place in the Python standard library: see the Python developer’s guide, and report issues on the Python bug tracker.

However, if you find an issue specific to prior versions of Python (such as 2.7 or 3.2), you can post an issue on theBitBucket project page.

History

Version 1.0.1

Version 1.0

This version brings pathlib up to date with the official Python 3.4 release, and also fixes a couple of 2.7-specific issues.

Version 0.97

This version brings pathlib up to date with the final API specified in PEP 428. The changes are too long to list here, it is recommended to read the documentation.

Version 0.8

Version 0.7

Version 0.6

Version 0.5