使用for line in fileinput.input(file, inplace=True)
时,任何print
命令都将在文本文件中打印,而不是在控制台上打印。但是我想使用print
进行调试。那么如何在for line in fileinput.input(file, inplace=True)
之后实现打印到控制台上呢?
fileinput.input
的inplace=True
参数有效地将标准输出重定向到正在读取的文件。您可以使用file
关键字参数指定一个不同的文件以与print
一起写入。
import sys
import fileinput
for line in fileinput.input(file, inplace=True):
print("new content")
print("debugging", file=sys.stderr)
如果你从开始
a
b
c
那么你的文件将看起来像
a
new content
b
new content
c
new content
在这个循环运行之后,你会看到
debugging
debugging
debugging
写入标准错误。