Cambio de la “encoding de configuración regional preferida”

[Usando Python 3.2]

Si no proporciono un argumento de encoding para open , el archivo se abre utilizando locale.getpreferredencoding() . Así, por ejemplo, en mi máquina Windows, cada vez que use open('abc.txt') , se descodificaría usando cp1252 .

Me gustaría cambiar todos mis archivos de entrada a utf-8 . Obviamente, puedo agregar encoding = 'utf-8' a todas mis llamadas de función open . O, mejor, encoding = MY_PROJECT_DEFAULT_ENCODING , donde la constante se define a nivel global en algún lugar.

Pero me preguntaba si hay una forma limpia de evitar la edición de todas mis llamadas open , cambiando la encoding “predeterminada”. ¿Es algo que puedo cambiar cambiando la configuración regional? ¿O cambiando un parámetro dentro de la localización? Intenté seguir el manual de Python, pero no pude entender cómo se supone que se usa.

¡Gracias!

En Windows, con Python 3.3+, ejecute chcp 65001 en la consola o un archivo por lotes antes de ejecutar Python para cambiar la encoding de la configuración regional a UTF-8.