Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-100783: fix os.path.join documentation #100811

Merged
merged 6 commits into from
Jan 8, 2023
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions Doc/library/os.path.rst
Original file line number Diff line number Diff line change
Expand Up @@ -306,17 +306,18 @@ the :mod:`glob` module.)

.. 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
Join one or more path segments intelligently. The return value is the
concatenation of *path* and all members of *\*paths*, with exactly one
hauntsaninja marked this conversation as resolved.
Show resolved Hide resolved
directory separator 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,
that the result will end in a separator if the last part is empty. 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
absolute path, all previous segments are ignored and the drive 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`.

Expand Down