[Python-checkins] gh-87691: clarify use of anchor in pathlib docs (GH-100782)

miss-islington webhook-mailer at python.org
Thu Jan 5 20:59:34 EST 2023


https://github.com/python/cpython/commit/d6b8413e94d68649bdd3cac5d441f1cf4609b540
commit: d6b8413e94d68649bdd3cac5d441f1cf4609b540
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2023-01-05T17:59:27-08:00
summary:

gh-87691: clarify use of anchor in pathlib docs (GH-100782)


This is feedback from https://github.com/python/cpython/pull/100737GH-discussion_r1062968696

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

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

(cherry picked from commit 2f2fa03ff3d566b675020787e23de8fb4ca78e99)

Co-authored-by: Shantanu <12621235+hauntsaninja at users.noreply.github.com>
Co-authored-by: Barney Gale <barney.gale at gmail.com>

files:
M Doc/library/pathlib.rst

diff --git a/Doc/library/pathlib.rst b/Doc/library/pathlib.rst
index 8f0966fb7ca5..9321c1d50e9c 100644
--- a/Doc/library/pathlib.rst
+++ b/Doc/library/pathlib.rst
@@ -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')
@@ -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



More information about the Python-checkins mailing list