Ho trovato un codice online che generalmente funziona, ma voglio usarlo più volte nello stesso programma (scrivere cose diverse su file diversi, mentre si sta ancora stampando sullo schermo tutto il tempo).Stampa su schermo e scrittura su un file allo stesso tempo
Vale a dire, quando si chiude, penso che sys.stdout si chiude, quindi la stampa non funziona e l'uso di questa classe fallisce di nuovo. Ho provato a reimportare sys e altre cose stupide, ma non riesco a farlo funzionare.
Ecco il sito, e il codice 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'
Quando si chiude? Non vedo niente chiudersi lì. –
Dovresti accettare la risposta, in realtà – gt6989b