¿Puedo redirigir la salida de Unicode desde la consola directamente a un archivo?

Tengo una secuencia de comandos de Python que genera Unicode en la consola y me gustaría redirigirla a un archivo. Aparentemente, el proceso de redireccionamiento en Python implica convertir la salida en una cadena, por lo que recibo errores sobre la incapacidad de decodificar caracteres Unicode.

Entonces, ¿hay alguna forma de realizar una redirección a un archivo codificado en UTF-8?

Establezca la variable de entorno PYTHONIOENCODING en la encoding que desee antes de redirigir un script de Python a un archivo. Entonces no tendrás que modificar el script original. Asegúrate también de escribir cadenas Unicode , de lo contrario PYTHONIOENCODING no tendrá ningún efecto. Si escribe cadenas de bytes, los bytes se envían tal como están al terminal (o archivo redirigido).

Bajo Linux, puede usar tee y redirigir stderr a / dev / null.

 python script.py 2>/dev/null | tee filename.txt 

Tampoco necesita modificar su script de Python.

 import codecs file_object = codecs.open( "filename", "w", "utf-8" ) file_object.write(u"खऔणन") file_object.close() 

Esto debería hacer el trabajo.