Commits

Antoine Pitrou committed 9d1ca74

Improve parent() and resolve() docs

  • Participants
  • Parent commits edf25b2

Comments (0)

Files changed (1)

File docs/index.rst

       >>> p.parent(4)
       PurePosixPath('/')
 
+   .. note::
+      This is a purely lexical operation, hence the following behaviour::
+
+         >>> p = PurePosixPath('foo/..')
+         >>> p.parent()
+         PurePosixPath('foo')
+
+      If you want to walk an arbitrary filesystem path upwards, it is
+      recommended to first call :meth:`Path.resolve` so as to resolve
+      symlinks and eliminate `".."` components.
+
 
 .. method:: PurePath.parents()
 
       >>> p.resolve()
       PosixPath('/home/antoine/pathlib')
 
+   `".."` components are also eliminated (this is the only method to do so)::
+
+      >>> p = Path('docs/../setup.py')
+      >>> p.resolve()
+      PosixPath('/home/antoine/pathlib/setup.py')
+
    If the path doesn't exist, an :exc:`OSError` is raised.  If an infinite
    loop is encountered along the resolution path, :exc:`ValueError` is raised.