diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2014-10-10 21:03:14 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2014-10-10 21:03:14 (GMT) |
commit | f126fa59f608f5010ca78dbffd6814820b0aaca1 (patch) | |
tree | 1df364b7e52662bb80a0b9c46c4ba079b3d35738 | |
parent | f85a856fb0ca43408c2deb01d9deb2efd7cb28b7 (diff) | |
download | cpython-f126fa59f608f5010ca78dbffd6814820b0aaca1.zip cpython-f126fa59f608f5010ca78dbffd6814820b0aaca1.tar.gz cpython-f126fa59f608f5010ca78dbffd6814820b0aaca1.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.
-rw-r--r-- | Doc/library/os.path.rst | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst index ed3aaf4..dc5d588 100644 --- a/Doc/library/os.path.rst +++ b/Doc/library/os.path.rst @@ -197,17 +197,22 @@ the :mod:`glob` module.) device --- this should detect mount points for all Unix and POSIX variants. -.. 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) |