我有一个python script_1,它将用于通过子进程调用另一个python script_2。当我这样做时,我可以在python控制台(或cmd)上看到很多打印语句和输出。如何将输出重定向到文件,并在python控制台上显示输出。
基本上,对于Linux的' | & tee '
命令,我需要Windows可执行命令。
我尝试了很多方法,但所有方法都无效。
感谢您的帮助。 :)
答案 0 :(得分:0)
您可以使用CMD:
python script.py >> out.txt
以编程方式重定向输出:
由于python代码的输出为stdout,因此您可以将其重定向到文件,因此将创建一个内部带有输出的文件,请注意,建议您将原始stout存储在var中,以防日后向外壳输出某些内容:
import sys
#store the original stdout object
original = sys.stdout
#open a txt file to store the stdout
sys.stdout = open('stdout.txt', 'w')
#Goes to stdout.txt
print('this is a txt file')
#restore the original stdout
sys.stdout = original
#Goes to shell output
print('this is python interpreter')
更多信息:
Cannot redirect output when I run Python script on Windows using just script's name
https://stackoverflow.com/a/3021809/8094047
https://www.blog.pythonlibrary.org/2016/06/16/python-101-redirecting-stdout/