summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2011-06-23 21:19:25 -0400
committerR David Murray <rdmurray@bitdance.com>2011-06-23 21:19:25 -0400
commit17e2b40aae9bcc5d55da6a1d96b439684fa68a40 (patch)
treed6acd0d27248b0e7e0ca3bb9522093e1f0f84eeb
parent1d3365106d6f2a5205adbf9a6f6fa8d7f1bbe271 (diff)
downloadcpython-git-17e2b40aae9bcc5d55da6a1d96b439684fa68a40.tar.gz
#9921: clarify os.path.join joining algorithm
The new wording is based on the comments in the code, which match the actual behavior.
-rw-r--r--Doc/library/os.path.rst9
1 files changed, 5 insertions, 4 deletions
diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst
index 4867e8b211..62bbdfff70 100644
--- a/Doc/library/os.path.rst
+++ b/Doc/library/os.path.rst
@@ -196,10 +196,11 @@ write files see :func:`open`, and for accessing the filesystem see the
path, all previous components (on Windows, including the previous drive letter,
if there was one) are thrown away, and joining continues. The return value is
the concatenation of *path1*, and optionally *path2*, etc., with exactly one
- directory separator (``os.sep``) inserted between components, unless *path2* is
- empty. Note that on Windows, since there is a current directory for each drive,
- ``os.path.join("c:", "foo")`` represents a path relative to the current
- directory on drive :file:`C:` (:file:`c:foo`), not :file:`c:\\foo`.
+ directory separator (``os.sep``) following each non-empty part except the last.
+ (This means that an empty last part will result in a path that ends with a
+ separator.) Note that on Windows, since there is a current directory for
+ each drive, ``os.path.join("c:", "foo")`` represents a path relative to the
+ current directory on drive :file:`C:` (:file:`c:foo`), not :file:`c:\\foo`.
.. function:: normcase(path)