我发现一些在线代码通常可用,但我想在同一个程序中多次使用它(将不同的东西写入不同的文件,同时仍然打印到屏幕上整个时间)。打印到屏幕并同时写入文件
也就是说,当它关闭时,我认为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'
何时关闭?我没有看到任何关闭。 – 2012-02-17 01:36:24
你应该接受答案,真的 – gt6989b 2015-02-11 23:59:40