Réglage du codage de sortie par défaut en Python 2 est un langage bien connu:Comment définir l'encodage sys.stdout dans Python 3?
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
Ce encapsule l'objet sys.stdout
dans un écrivain codec qui code la sortie en UTF-8.
Cependant, cette technique ne fonctionne pas en Python 3 parce sys.stdout.write()
un str
attend, mais le résultat de l'encodage est bytes
, et une erreur se produit lorsque codecs
tente d'écrire les octets codés à l'sys.stdout
d'origine.
Quelle est la bonne façon de faire cela dans Python 3?
2to3 est un outil utile pour des questions comme celles-ci. –
@dan_waterworth: Je n'avais pas pensé à essayer ça avant, mais j'ai juste essayé '2to3' maintenant et cela n'a suggéré aucun changement pour le code donné. –
Si le nouveau code ne fonctionne pas alors je vous suggère d'ajouter cela comme un bug. –