This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Michael Klatt
Recipients Michael Klatt, docs@python
Date 2018-05-04.18:39:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
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/".
Date User Action Args
2018-05-04 18:39:06Michael Klattsetrecipients: + Michael Klatt, docs@python
2018-05-04 18:39:06Michael Klattsetmessageid: <>
2018-05-04 18:39:06Michael Klattlinkissue33426 messages
2018-05-04 18:39:06Michael Klattcreate