Ajuste de la codificación de salida predeterminado en Python 2 es un lenguaje conocido:Cómo configurar la codificación sys.stdout en Python 3?
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
Esto ajusta el objeto sys.stdout
en un escritor codec que codifica la producción en UTF-8.
Sin embargo, esta técnica no funciona en Python 3 porque sys.stdout.write()
espera un str
, pero el resultado de codificación es bytes
, y se produce un error cuando codecs
intenta escribir los bytes codificados a la original sys.stdout
.
¿Cuál es la forma correcta de hacer esto en Python 3?
2to3 es una herramienta útil para preguntas como estas. –
@dan_waterworth: No pensé en probar eso antes, pero intenté '2to3' ahora y no sugirió ningún cambio para el código dado. –
Si el nuevo código no funciona, le sugiero que agregue esto como un error. –