我正在尝试在Windows命令行中运行python脚本。脚本正在成功执行。但是当我尝试将输出重定向到文件时,它仍然在控制台中打印。
python hello.py -o hello.out
我做错了什么?
答案 0 :(得分:1)
我认为你应该这样做:
python hello.py > hello.out
**编辑** 还有一个关于stdin的问题。
从命令行可以执行以下操作:
python foo.py < in.txt > out.txt
在foo.py
内你需要确保你从某个地方抓住stdin,所以做这样的事情:
import fileinput
for line in fileinput.input():
print(line)
# do stuff with each line of input
答案 1 :(得分:0)
除非您的脚本本身支持-o
,否则我不希望该标志执行任何操作。 python
没有这样的选项,如果确实如此,则必须将其放在脚本名称之前,以便可以将其识别为解释器的选项而不是脚本。
这是一篇关于如何在Windows中重定向输出的好文章:https://support.microsoft.com/en-us/kb/110930。令人惊讶的是,使用>
字符完成了与Linux相同的操作。您的示例应该写为
python hello.py > hello.out
或
python hello.py > hello.out 2>&1
如果您想在文件中包含标准错误和标准输出。