如何在Windows中将python输出重定向到python控制台和文本文件

时间:2018-07-04 08:56:36

标签: python windows logging cmd

我有一个python script_1,它将用于通过子进程调用另一个python script_2。当我这样做时,我可以在python控制台(或cmd)上看到很多打印语句和输出。如何将输出重定向到文件,并在python控制台上显示输出。

基本上,对于Linux的' | & tee '命令,我需要Windows可执行命令。 我尝试了很多方法,但所有方法都无效。

感谢您的帮助。 :)

1 个答案:

答案 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/