Печать на экран и запись в файл одновременно
Я нашел в сети какой-то код, который обычно работает, но я хочу использовать его несколько раз в одной и той же программе (записывать разные вещи в разные файлы, все еще печатая на экране все время).
То есть, когда он закрывается, я думаю, что sys.stdout закрывается, поэтому печать вообще и повторное использование этого класса не удаются. Я пытался повторно импортировать sys и другие глупые вещи, но я не могу заставить его работать.
Вот сайт и код 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'