[Python-Dev] Patch for an initial support of bytes filename in Python3 (original) (raw)

glyph at divmod.com glyph at divmod.com
Tue Sep 30 20:47:51 CEST 2008


On 05:56 pm, guido at python.org wrote:

On Tue, Sep 30, 2008 at 10:59 AM, <glyph at divmod.com> wrote:

On 02:32 pm, guido at python.org wrote:

In the absence of a 2.6 getcwdb, perhaps the fixer could just drop the "benefit of the doubt" case? It could always be added to 2.7, and the parity release of 2to3 could have a --2.7 switch that would modify the behavior of this and other fixers. I'm not sure what you're proposing. My proposal is that 2to3 changes os.getcwdu() calls to os.getcwd() and leaves os.getcwd() calls alone -- there's no way to tell whether os.getcwdb() would be a better match, and for portable code, it won't be (since os.getcwdb() is a Unix-only thing).

My proposal is simply to change getcwd to getcwdb, and getcwdu to getcwd. This preserves whatever bytes/text behavior you are expecting from 2.6 into 3.0. Granted, the fact that unicode is really always the right thing to do on Windows complicates things.

I already tend to avoid os.getcwd() though, and this is just one more reason to avoid it. In the rare cases where I really do need it, it looks like os.path.abspath(b".") / os.path.abspath(u".") will provide the clarity that I want.



More information about the Python-Dev mailing list