Jeremy Gray added the comment:
Maybe this a documentation / run-time warning issue, rather than bug. Trailing
spaces in filenames are illegal in Win32; nonetheless they can occur, because
there are instructions on how to remove such files:
http://support.microsoft.com/kb/320081. So os.path.abspath() not only returns
the absolute path of a (hypothetical) file, it is also ensuring that the file
name is legal within the operating system. It does so silently. (I say
hypothetical because there's no requirement that the file actually exists.)
This behavior from python was surprising since "explicit is better than
implicit": I was not getting just an absolute path, but a changed filename
(causing a file-not-found error later in my code), with no warning from python
at any point that the filename was illegal and so was being "cleaned up" for
me, behind the scenes. Maybe this is the Windows-like way to do things
(longtime mac / linux here).
Playing around a little, I see "open('file ', 'wb')" also silently changes the
filename.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue18221>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com