From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 31 Jan 2023 05:46:43 +0000 (-0800) Subject: gh-77607: Improve accuracy of os.path.join docs (GH-101406) X-Git-Tag: v3.10.10~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f36c2729d62c90f7f667129b10f8161b1e4f5507;p=thirdparty%2FPython%2Fcpython.git gh-77607: Improve accuracy of os.path.join docs (GH-101406) 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> --- diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst index 319b664dd46d..22d07c473838 100644 --- a/Doc/library/os.path.rst +++ b/Doc/library/os.path.rst @@ -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