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 <rep...@bugs.python.org> <http://bugs.python.org/issue18221> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com