因此,我有一个python脚本输出文本到控制台,我需要记录到一个文件,而脚本是相当复杂的,我不编码python,所以我宁愿不改变它。如何将python脚本cmd输出重定向到文件?
我想这样做
>python script.py arg1 arg2 ... argn > "somefile.txt"
但它不会工作,我的猜测是,蟒蛇需要>
和"somefile.txt"
作为参数..
才能实现这一目标,以及如何?
因此,我有一个python脚本输出文本到控制台,我需要记录到一个文件,而脚本是相当复杂的,我不编码python,所以我宁愿不改变它。如何将python脚本cmd输出重定向到文件?
我想这样做
>python script.py arg1 arg2 ... argn > "somefile.txt"
但它不会工作,我的猜测是,蟒蛇需要>
和"somefile.txt"
作为参数..
才能实现这一目标,以及如何?
$ (python script.py one two) > test.txt
或者,如果你想看到的输出,并把它写入一个文件:
$ python script.py one two | tee test.txt
如果仍然没有写入文件,请尝试重新定向STDERR
:
$ python script.py one two 2>&1 | tee test.txt
尝试使用括号创建文件,并且文件被创建,但输出未重定向且文件保持空白。对不起,但我不明白你的语法其余..通过'$'你暗示Linux bash?因为我在谈论Windows命令提示符 –
是的,得到了''tee'不被识别为内部或外部命令...“ –
@GarinGG,Windows没有与'tee'命令一起分发。你可以安装一个,但你并没有问过这个问题。只需通过'> somefile.txt'重定向stdout,然后通过'2>&1'将stderr重定向到stdout(即同一个文件)。 – eryksun
将这些代码行添加到轧制python文件。
import sys
sys.stdout = open('somefile.txt', 'w')
这是将sys.stdout设置为您选择的文件对象。
你的猜测是错误的。它以什么方式不起作用?你看到了什么? – immortal
我在控制台中看到输出,并且没有创建文件。 –
什么外壳?你的脚本如何打印输出? – immortal