[docs] [issue33426] Behavior of os.path.join does not match documentation
report at bugs.python.org
Fri May 4 14:39:06 EDT 2018
New submission from Michael Klatt <michael.d.klatt at gmail.com>:
The behavior of os.path.join() regarding path separators does not match the documentation. This affects Python 3.6, and goes back to at least Python 2.7.
>From the documenation:
"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."
To me, this means that join will remove extraneous separators from the path, and that the only way to produce a trailing separator is to use join "" as the final path segment.
I expect `os.path.join("/abc//", "def/")` to produce the string "/abc/def" based on the documentation, but what it actually produces is "abc//def/".
assignee: docs at python
components: Documentation, Library (Lib)
nosy: Michael Klatt, docs at python
title: Behavior of os.path.join does not match documentation
versions: Python 2.7, Python 3.4, Python 3.5, Python 3.6
Python tracker <report at bugs.python.org>
More information about the docs