[Python-Dev] Patch for an initial support of bytes filename in Python3
glyph at divmod.com
glyph at divmod.com
Tue Sep 30 19:59:32 CEST 2008
On 02:32 pm, guido at python.org wrote:
>On Tue, Sep 30, 2008 at 6:21 AM, <glyph at divmod.com> wrote:
>>On 12:47 am, victor.stinner at haypocalc.com wrote:
>>It sounds like maybe there should be some 2to3 fixers in here
>>somewhere,
>>too? Not necessarily as part of this patch, but somewhere related? I
>>don't
>>know what they would do, but it does seem quite likely that code which
>>was
>>previously correct under 2.6 (using bytes) would suddenly be mixing
>>bytes
>>and unicode with these APIs.
>
>Doesn't seem easy for 2to3 to recognize such cases.
Actually I think I'm wrong. As far as dealing with glob(), listdir()
and friends, I suppose that other bytes/text fixers will already have
had their opportunity to deal with getting the type to be the
appropriate thing, and if you have glob(<something that 2to3 understands
should be bytes>) it will work as expected in 3.0. (I am really just
confirming that I have nothing useful to say here, using too many words
to do it: at least, I hope that nobody will waste further time thinking
about it as a result.)
>If 2.6 weren't pretty much released already I'd ask to add
>os.getcwdb() there, as an alias for os.getcwd(), and add a 2to3 fixer
>that converts os.getcwdu() to os.getcwd(), leaves os.getcwd() alone
>(benefit of the doubt) and leaves os.getcwdb() alone as well (a strong
>indication the user meant to get bytes in the 3.x version of their
>code. (Similar to using bytes instead of str in 2.6 even though they
>mean the same thing there -- they will be properly separated in 3.x.)
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.
More information about the Python-Dev
mailing list