[Python-Dev] Emit a BytesWarning on bytes filenames on Windows (original) (raw)
Victor Stinner victor.stinner at haypocalc.com
Sat Oct 29 00:52:41 CEST 2011
- Previous message: [Python-Dev] draft PEP: virtual environments
- Next message: [Python-Dev] Emit a BytesWarning on bytes filenames on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
I am not more conviced that raising a UnicodeEncodeError on unencodable characters is the right fix for the issue #13247. The problem with this solution is that you have to wait until an user get a UnicodeEncodeError.
I have yet another proposition: emit a warning when a bytes filename is used. So it doesn't affect the default behaviour, but you can use -Werror to test if your program is fully Unicode compliant on Windows (without having to test invalid filenames).
I don't know if a BytesWarning or a DeprecationWarning is more apropriate. It depends if we plan to drop support of bytes filenames on Windows later (in Python 3.5 or later).
List of impacted functions:
os._getfinalpathname(bytes) os._getfullpathname(bytes) os._isdir(bytes) os.access(bytes) os.chdir(bytes) os.chmod(bytes) os.getcwdb() os.link(bytes, bytes) os.listdir(bytes) os.lstat(bytes) os.mkdir(bytes) os.readlink(bytes) os.rename(bytes, bytes) os.rmdir(bytes) os.stat(bytes) os.symlink(bytes, bytes) os.unlink(bytes) os.utime(bytes, time)
Note: Unicode filenames are not affected by this change. For example, os.listdir(str) will not emit any warning.
Victor
- Previous message: [Python-Dev] draft PEP: virtual environments
- Next message: [Python-Dev] Emit a BytesWarning on bytes filenames on Windows
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]