From 392c28543b47a4437f927e59f29df5a8cd19dd71 Mon Sep 17 00:00:00 2001 From: hauntsaninja Date: Sun, 29 Jan 2023 12:46:09 -0800 Subject: [PATCH] gh-77607: Improve accuracy of os.path.join docs 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 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst index 42bbe24830e6c1..e7e307ba79282c 100644 --- a/Doc/library/os.path.rst +++ b/Doc/library/os.path.rst @@ -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