Python 使用标准输出时,为什么需要更改为文件对象?
下面是使用标准输出模块的示例Python 使用标准输出时,为什么需要更改为文件对象?,python,stdout,Python,Stdout,下面是使用标准输出模块的示例 #redirect.py import sys f = open('t.txt', 'w') stdout = sys.stdout -----> first one sys.stdout = f -----> second one print 'Sample output' print 'Good' print 'Good' f.close() sys.stdout = stdout -----> thi
#redirect.py
import sys
f = open('t.txt', 'w')
stdout = sys.stdout -----> first one
sys.stdout = f -----> second one
print 'Sample output'
print 'Good'
print 'Good'
f.close()
sys.stdout = stdout -----> third one
我不明白为什么上面这三件事的意思
提前感谢=)
print
只需处理其参数,然后调用sys.stdout.write()
。替换sys.stdout
允许您捕获print
的输出并重定向它。您能解释第一个和第三个吗?嗯,保存并恢复原始值。对不起,您能详细解释一下吗?我想知道为什么要保存和恢复sys.stdout,以及在这种情况下的原始值是什么?非常感谢:)我只想知道您上面提到的原始值的含义。原始sys.stdout指向您正在执行python的终端,您正在使用的gui的输出标签,以及您希望看到的打印内容。第一个存储原始的默认输出终端、gui标签等。第二个将打印写入文件t.txt。第三种方法使打印回溯到默认文件、终端等。