◐ Shell
clean mode source ↗

Message 146222 - Python tracker

abspath() is implemented using nt._getfullpathname() which calls GetFullPathNameA().

> The returned path with question marks is completely useless.

Can you open the file using such filename? If no, I agree that the result is useless.

> It's better that python throw an error than return the question marks.

Python is currently a thin wrapper on the Windows API. Windows doesn't consider that a filename with question marks as an error.

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364963%28v=vs.85%29.aspx

Python can maybe uses GetFullPathNameW() and encode manually the filename using its strict MBCS codec. MBCS codec is strict since Python 3.2: it raises a UnicodeEncodeError if the string cannot be encoded.