Re: Resolving the python 2 -> python 3 mess

Поиск
Список
Период
Сортировка
От Corey Huinker
Тема Re: Resolving the python 2 -> python 3 mess
Дата
Msg-id CADkLM=e94yBB-mET+RjZ9+r=SxFweMxHO-xMWanfsgKcTJnL_Q@mail.gmail.com
обсуждение исходный текст
Ответ на Resolving the python 2 -> python 3 mess  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Resolving the python 2 -> python 3 mess  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
A possible gotcha in this approach is if there are any python 2/3
incompatibilities that would not manifest as syntax errors or
obvious runtime errors, but would allow old code to execute and
silently do the wrong thing.  One would hope that the Python crowd
weren't dumb enough to do that, but I don't know whether it's true.
If there are nasty cases like that, maybe what we have to do is allow
plpythonu/plpython2u functions to be dumped and reloaded into a
python-3-only install, but refuse to execute them until they've
been converted.

Unfortunately, I think there are cases like that. The shift to Unicode as the default string means that some functions that used to return a `str` now return a `bytes` (I know of this in the hashlib and base64 modules, but probably also in URL request data and others), and to use a `bytes` in string manipulation you have to first explicitly convert it to some string encoding. So things like a function that wraps around a python crypto library would be the exact places where those was-str-now-bytes functions would be used.
 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Resolving the python 2 -> python 3 mess
Следующее
От: Hubert Zhang
Дата:
Сообщение: Re: Print physical file path when checksum check fails