[Python-Dev] [Python-3000] New proposition for Python3 bytes filename issue (original) (raw)

M.-A. Lemburg mal at egenix.com
Tue Sep 30 12:31:51 CEST 2008


On 2008-09-30 08:00, Martin v. Löwis wrote:

Change the default file system encoding to store bytes in Unicode is like introducing a new Python type: . Exactly. Seems like the best solution to me, despite your polemics.

Not a bad idea... have os.listdir() return Unicode subclasses that work like file handles, ie. they have an extra buffer that holds the original bytes value received from the underlying C API.

Passing these handles to open() would then do the right thing by using whatever os.listdir() got back from the file system to open the file, while still providing a sane way to display the filename, e.g. using question marks for the invalid characters.

The only problem with this approach is concatenation of such handles to form pathnames, but then perhaps those concatenations could just work on the bytes value as well (I don't know of any OS that uses non- ASCII path separators).

-- Marc-Andre Lemburg eGenix.com

Professional Python Services directly from the Source (#1, Sep 30 2008)

Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/


:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::

eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611



More information about the Python-Dev mailing list