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