pathlib 0.4

Antoine Pitrou solipsis at pitrou.net
Mon Jan 30 21:14:44 CET 2012


Hello,

I'm releasing pathlib 0.4 for Python 3.2 and later.

* Download: http://pypi.python.org/pypi/pathlib/
  (you can probably use "pip install pathlib" or "easy_install pathlib"
   instead)

* Documentation: http://readthedocs.org/docs/pathlib/en/latest/

* Issue tracker, repository: https://bitbucket.org/pitrou/pathlib/

What is pathlib
---------------

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.).

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'


Regards

Antoine Pitrou.




More information about the Python-announce-list mailing list