Skip to content

Commit

Permalink
pythongh-87691: clarify use of anchor in pathlib docs (python#100782)
Browse files Browse the repository at this point in the history
This is feedback from python#100737 (comment)

This matches the wording from the `os.path.join` docs better:
https://docs.python.org/3/library/os.path.html#os.path.join

In particular, the previous use of "anchor" was incorrect given the
pathlib definition of "anchor".

Co-authored-by: Barney Gale <barney.gale@gmail.com>
  • Loading branch information
hauntsaninja and barneygale committed Jan 6, 2023
1 parent 0a7936a commit 2f2fa03
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions Doc/library/pathlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -118,16 +118,16 @@ we also call *flavours*:
>>> PurePath()
PurePosixPath('.')

When several absolute paths are given, the last is taken as an anchor
(mimicking :func:`os.path.join`'s behaviour)::
If a segment is an absolute path, all previous segments are ignored
(like :func:`os.path.join`)::

>>> PurePath('/etc', '/usr', 'lib64')
PurePosixPath('/usr/lib64')
>>> PureWindowsPath('c:/Windows', 'd:bar')
PureWindowsPath('d:bar')

However, in a Windows path, changing the local root doesn't discard the
previous drive setting::
On Windows, the drive is not reset when a rooted relative path
segment (e.g., ``r'\foo'``) is encountered::

>>> PureWindowsPath('c:/Windows', '/Program Files')
PureWindowsPath('c:/Program Files')
Expand Down Expand Up @@ -212,10 +212,10 @@ Paths of a different flavour compare unequal and cannot be ordered::
Operators
^^^^^^^^^

The slash operator helps create child paths, mimicking the behaviour of
:func:`os.path.join`. For instance, when several absolute paths are given, the
last is taken as an anchor; for a Windows path, changing the local root doesn't
discard the previous drive setting::
The slash operator helps create child paths, like :func:`os.path.join`.
If the argument is an absolute path, the previous path is ignored.
On Windows, the drive is not reset when the argument is a rooted
relative path (e.g., ``r'\foo'``)::

>>> p = PurePath('/etc')
>>> p
Expand Down

0 comments on commit 2f2fa03

Please sign in to comment.