我将尝试将Python脚本的标准输出重定向到文件中。
如果使用sys模块导入STDOUT,脚本的输出将不会被重定向到文件中。请参考以下代码:
然而,如果我仅导入sys并使用sys.stdout,则脚本的输出会成功重定向:
如果使用sys模块导入STDOUT,脚本的输出将不会被重定向到文件中。请参考以下代码:
from sys import stdout
stdout = open("text", "w")
print("Hello")
然而,如果我仅导入sys并使用sys.stdout,则脚本的输出会成功重定向:
import sys
sys.stdout = open("text", "w")
print("Hello")
为什么会这样呢?根据这个答案,"import X" 和 "from X import Y" 的唯一区别是绑定的名称。那么这个区别如何影响stdout呢?
sys
模块内的引用。 - OneCricketeer