我的要求是在控制台中打印文件的输出以及日志文件。以下代码为我做了这件事,除了一个小问题。我在文件末尾调用 perl 脚本,其输出显示在控制台中,但没有打印到文件中。
import subprocess
import sys
class Tee(object):
def __init__(self, *files):
self.files = files
def write(self, obj):
for f in self.files:
f.write(obj)
f = open('MyFile.txt', 'w')
original = sys.stdout
sys.stdout = Tee(sys.stdout, f)
print "Logging Started"
# My code
print "A"
subprocess.call(['./MyScript])
sys.stdout = original
print "Logging Stopped" # Only on stdout
f.close()
谁能告诉我如何实现?或者有没有可能达到同样的效果?