+ This is a purely lexical operation, hence the following behaviour::
+ >>> p = 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()
+ `".."` components are also eliminated (this is the only method to do so)::
+ >>> p = Path('docs/../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.