diff --git a/py/doc/TODO.txt b/py/doc/TODO.txt index b1077eef5..a906bc3a9 100644 --- a/py/doc/TODO.txt +++ b/py/doc/TODO.txt @@ -37,10 +37,7 @@ streamline exported API * make "_" namespace: py.log -> py._log (pypy!) -* review py.io and write py.io.dupfile docstring - - (guido - added docstring, and code looks okay (what was the reason for the - review? anything specific?) +* (done mostly) review py.io and write py.io.dupfile docstring * re-consider what to do with read and write methods of py.path classes (since there are places that check for file-ness by doing hasattr(... 'write')) diff --git a/py/doc/path.txt b/py/doc/path.txt index 7c4b2c6b0..da5d0d2b9 100644 --- a/py/doc/path.txt +++ b/py/doc/path.txt @@ -108,17 +108,18 @@ specific directory. >>> subdir.join('textfile2.txt').write('spam eggs spam foo bar spam') >>> results = [] >>> for fpath in dirpath.visit('*.txt'): - ... if 'bar' in fpath.read(): - ... results.append(fpath.basename) + ... if 'bar' in fpath.read(): + ... results.append(fpath.basename) >>> results ['textfile1.txt', 'textfile2.txt', 'textfile2.txt'] -Joining path types +Working with Paths ++++++++++++++++++++ -This example shows the :api:`py.path` features to deal with actual paths -(strings). Note that the filesystem is never touched, all operations are -performed on a string level (so the paths don't have to exist, either):: +This example shows the :api:`py.path` features to deal with +filesystem paths Note that the filesystem is never touched, +all operations are performed on a string level (so the paths +don't have to exist, either):: >>> p1 = py.path.local('/foo/bar') >>> p2 = p1.join('baz/qux') @@ -130,6 +131,13 @@ performed on a string level (so the paths don't have to exist, either):: >>> p3 = p1 / 'baz/qux' # the / operator allows joining, too >>> p2 == p3 True + >>> p4 = p1 + ".py" + >>> p4.basename == "bar.py" + True + >>> p4.ext == ".py" + True + >>> p4.purebasename == "bar" + True This should be possible on every implementation of :api:`py.path`, so regardless of whether the implementation wraps a UNIX filesystem, a Windows