如何将raw_input重定向到stderr而不是stdout?
问题内容:
我想将重定向stdout
到文件。但这会影响到raw_input
。我需要将输出重定向raw_input
到stderr
而不是stdout
。我怎样才能做到这一点?
问题答案:
暂时重定向stdout
到stderr
,然后还原。
import sys
old_raw_input = raw_input
def raw_input(*args):
old_stdout = sys.stdout
try:
sys.stdout = sys.stderr
return old_raw_input(*args)
finally:
sys.stdout = old_stdout