Encontré algún código en línea que generalmente funciona, pero quiero usarlo varias veces en el mismo programa (escribir cosas diferentes en diferentes archivos, mientras sigo imprimiendo en la pantalla todo el tiempo).Imprimir en una pantalla y escribir en un archivo al mismo tiempo
Es decir, cuando se cierra, creo que sys.stdout se cierra, por lo que la impresión en absoluto, y el uso de esta clase otra vez falla. Traté de volver a importar el sistema y otras cosas tontas, pero no puedo hacer que funcione.
Aquí está el sitio, y el código groups.google.com/group/comp.lang.python/browse_thread/thread/d25a9f5608e473af/
import sys
class MyWriter:
def __init__(self, stdout, filename):
self.stdout = stdout
self.logfile = file(filename, 'a')
def write(self, text):
self.stdout.write(text)
self.logfile.write(text)
def close(self):
self.stdout.close()
self.logfile.close()
writer = MyWriter(sys.stdout, 'log.txt')
sys.stdout = writer
print 'test'
¿Cuándo se cierra? No veo nada que se cierre allí. –
Debe aceptar la respuesta, realmente – gt6989b