Welcome to pathlib2’s documentation!




Jul 06, 2023

The old pathlib module on bitbucket is no longer maintained. The goal of pathlib2 is to provide a backport of standard pathlib module which tracks the standard library module, so all the newest features of the standard pathlib can be used also on older Python versions.


Standalone releases are available on PyPI: http://pypi.python.org/pypi/pathlib2/


The main development takes place in the Python standard library: see the Python developer’s guide. In particular, new features should be submitted to the Python bug tracker.

Issues that occur in this backport, but that do not occur not in the standard Python pathlib module can be submitted on the pathlib2 bug tracker.


Refer to the standard pathlib documentation.

Known Issues

For historic reasons, pathlib2 still uses bytes to represent file paths internally. Unfortunately, on Windows with Python 2.7, the file system encoder (mcbs) has only poor support for non-ascii characters, and can silently replace non-ascii characters without warning. For example, u'тест'.encode(sys.getfilesystemencoding()) results in ???? which is obviously completely useless.

Therefore, on Windows with Python 2.7, until this problem is fixed upstream, unfortunately you cannot rely on pathlib2 to support the full unicode range for filenames. See issue #56 for more details.