]> granicus.if.org Git - python/commitdiff
#9921: clarify os.path.join joining algorithm
authorR David Murray <rdmurray@bitdance.com>
Fri, 24 Jun 2011 01:26:13 +0000 (21:26 -0400)
committerR David Murray <rdmurray@bitdance.com>
Fri, 24 Jun 2011 01:26:13 +0000 (21:26 -0400)
The new wording is based on the comments in the code, which
match the actual behavior.

Doc/library/os.path.rst

index 522b94cee996f72854f20f197fffe50d1546e657..214e27c6012e3124fa4bab03b8d48c4d5b46bf6f 100644 (file)
@@ -190,10 +190,11 @@ applications should use string objects to access all files.
    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)