Re: [Python-Dev] [Python-3000] New proposition for Python3 bytes filename issue
On Tue, Sep 30, 2008 at 1:12 PM, Terry Reedy <tjreedy@udel.edu> wrote:
Terry Reedy wrote:
Guido van Rossum wrote:
I'm not sure either way. I've heard it claim that Windows filesystem APIs use Unicode natively. Does Python 3.0 on Windows currently support filenames expressed as bytes? Are they encoded first before passing to the Unicode APIs? Using what encoding?
[os.listdir(bytes) returns list of bytes, open(bytes) fails]
More:
The path functions seem also do not work:
op.abspath(b'tem') ... path = path.replace("/", "\\") TypeError: expected an object with the buffer interface
The error message is a bit cryptic given that the problem is that the arguments to replace should be bytes instead of strings for a bytes path.
.basename fails with ... while i and p[i-1] not in '/\\': TypeError: 'in <string>' requires string as left operand, not int
os.rename, os.stat, os.mkdir, os.rmdir work. I presume same is true for others that normally work on windows.
It looks roughly like the system calls do support bytes (using what encoding?) but the Python code in os.path doesn't. This is the same as the status quo on Linux. -- --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (1)
-
Guido van Rossum