summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2014-10-10 21:03:14 (GMT)
committerZachary Ware <zachary.ware@gmail.com>2014-10-10 21:03:14 (GMT)
commita13dab47cb8c6184115c73c379712a71c6ef7f79 (patch)
tree8a92b55e7673bb2609ceb2afe0a49b1a7703bee1 /Doc
parent64138c438cb095b52107d856deebbe90d799bc07 (diff)
downloadcpython-a13dab47cb8c6184115c73c379712a71c6ef7f79.zip
cpython-a13dab47cb8c6184115c73c379712a71c6ef7f79.tar.gz
cpython-a13dab47cb8c6184115c73c379712a71c6ef7f79.tar.bz2
Issue #15414: Clean and correct the os.path.join docs.
In particular, correctly describe the behavior of ntpath.join. Based on a patch by Dave Sawyer.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/os.path.rst27
1 files changed, 16 insertions, 11 deletions
diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst
index dc03f43..92631b2 100644
--- a/Doc/library/os.path.rst
+++ b/Doc/library/os.path.rst
@@ -206,17 +206,22 @@ the :mod:`glob` module.)
Support for detecting non-root mount points on Windows.
-.. function:: join(path1[, path2[, ...]])
-
- Join one or more path components intelligently. If any component is an absolute
- 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``) 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:: join(path, *paths)
+
+ Join one or more path components intelligently. The return value is the
+ concatenation of *path* and any members of *\*paths* with exactly one
+ directory separator (``os.sep``) following each non-empty part except the
+ last, meaning that the result will only end in a separator if the last
+ part is empty. If a component is an absolute path, all previous
+ components are thrown away and joining continues from the absolute path
+ component.
+
+ On Windows, the drive letter is not reset when an absolute path component
+ (e.g., ``r'\foo'``) is encountered. If a component contains a drive
+ letter, all previous components are thrown away and the drive letter is
+ reset. Note that 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)