我有类似
的东西f=open('out.txt','w')
print >>f, 'action=%r'%action
在我的一个Python程序中。是否可以将标准错误指向与标准输出相同的文件?
谢谢!
答案 0 :(得分:2)
你可以这样做......
import sys
f = open("error.log", "w")
sys.stderr = f
print "raising exception"
raise Exception, "find this in error.log"
或者更直接地回答您的问题,
import sys
f = open("logall.txt", "w")
sys.stderr = f
sys.stdout = f
print "find this in logall.txt"
raise Exception, "find this in logall.txt"
虽然我不一定推荐后者。
答案 1 :(得分:1)
您可以这样说:
sys.stderr = sys.stdout
但是如果你的脚本会由其他人维护,我会下注,你可能会引起一些困惑。而不是在脚本中执行此操作,从调用shell执行此操作是否可接受?
myscript 2>&1