]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-77607: Improve accuracy of os.path.join docs (#101406)
authorShantanu <12621235+hauntsaninja@users.noreply.github.com>
Tue, 31 Jan 2023 05:39:30 +0000 (21:39 -0800)
committerGitHub <noreply@github.com>
Tue, 31 Jan 2023 05:39:30 +0000 (21:39 -0800)
This is a follow-up to #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 #77607 and motivated the change
in #100811.

Doc/library/os.path.rst

index 786c2fd7f64fcc11a53a2c62824a9319e928763b..96bcb48ad7d126adb002b8e799bad4859866cd13 100644 (file)
@@ -308,11 +308,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