[Python-Dev] bytes (original) (raw)

[Python-Dev] bytes / unicode

Robert Collins robertc at robertcollins.net
Tue Jun 22 23:40:45 CEST 2010


On Wed, Jun 23, 2010 at 6:09 AM, M.-A. Lemburg <mal at egenix.com> wrote:

return constant.encode('utf-8')

So now you can write x.split(literalas('&', x)). This polymorphism is what we used in Python2 a lot to write code that works for both Unicode and 8-bit strings. Unfortunately, this no longer works as easily in Python3 due to the literals sometimes having the wrong type and using such a helper function slows things down a lot.

I didn't work in 2 either - see for instance the traceback module with an Exception with unicode args and a non-ascii file path - the file path is in its bytes form, the string joining logic triggers an implicit upcast and boom.

Too bad we can't add such porting enhancements to Python2 anymore

Perhaps a 'py3compat' module on pypi, with things like the py._builtin reraise helper and so forth ?

-Rob



More information about the Python-Dev mailing list