Python - 重新设置标准输出为正常状态,之前将其重定向到文件后

2024-04-26 08:05:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在python程序的开头,我有以下一行:

sys.stdout = open('stdout_file', 'w')

在我的程序进行到一半时,我想将stdout设置回正常的stdout。我该怎么做?


Tags: 程序stdoutsysopenfile
3条回答

另一个常见的做法是存储默认的stdout和/或stdin,然后在完成向自定义流发送输出/输入后返回它们。 例如:

orig_stdout = sys.stdout
sys.stdout = open('stdout_file', 'w')
sys.stdout = orig_stdout

原始的stdout可以作为sys.__stdout__访问。这个is documented

当然,斯特德也是如此。最后,需要这些行来获取原始流。

sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__

相关问题 更多 >