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

Reply via email to