如何将python脚本cmd输出重定向到文件?

时间:2017-08-04 06:26:28

标签: python cmd

所以我有一个python脚本将文本输出到控制台,我需要将其记录到文件中,但脚本非常复杂,我不会编写python代码,所以我宁愿不改变它。 / p>

我想这样做

>python script.py arg1 arg2 ... argn > "somefile.txt"

但它不会起作用,我的猜测是python将>"somefile.txt"作为参数。

这可以实现吗?

3 个答案:

答案 0 :(得分:5)

$ (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

答案 1 :(得分:0)

将这些代码行添加到python文件的开头。

import sys
sys.stdout = open('somefile.txt', 'w')

这是将sys.stdout设置为您选择的文件对象。

答案 2 :(得分:0)

由于脚本不是你的,我猜测它使用了 python 日志模块。如果是这种情况,那么您只需要重新配置日志记录模块以使用 stdout。请参阅 https://stackoverflow.com/a/28194953/292787 了解如何操作。

import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)