]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-77607: Improve accuracy of os.path.join docs (GH-101406)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 31 Jan 2023 05:46:43 +0000 (21:46 -0800)
committerGitHub <noreply@github.com>
Tue, 31 Jan 2023 05:46:43 +0000 (21:46 -0800)
This is a follow-up to GH-100811.

One of the changes in that PR isn't accurate in that
`os.path.join('', '')` will not end in a separator.

This reverts that change to the previous wording that used "only", but
explicitly calls out the case where the last part ends in a separator,
which is what caused confusin in GH-77607 and motivated the change
in GH-100811.
(cherry picked from commit 909a6746939ea1d09fab21f26b558cfd7e3e29a0)

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Doc/library/os.path.rst

index 319b664dd46d7975260ff465817112aacf480cf9..22d07c47383839bd9b0f186e74188d40ed58b6ae 100644 (file)
@@ -299,11 +299,11 @@ the :mod:`glob` module.)
 
    Join one or more path segments intelligently.  The return value is the
    concatenation of *path* and all members of *\*paths*, with exactly one
-   directory separator following each non-empty part except the last. That is,
-   if the last part is empty, the result will end in a separator. If
-   a segment is an absolute path (which on Windows requires both a drive and a
-   root), then all previous segments are ignored and joining continues from the
-   absolute path segment.
+   directory separator following each non-empty part, except the last. That is,
+   the result will only end in a separator if the last part is either empty or
+   ends in a separator. If a segment is an absolute path (which on Windows
+   requires both a drive and a root), then all previous segments are ignored and
+   joining continues from the absolute path segment.
 
    On Windows, the drive is not reset when a rooted path segment (e.g.,
    ``r'\foo'``) is encountered. If a segment is on a different drive or is an