从命令行窗口运行python不起作用

时间:2015-09-20 03:11:30

标签: windows python-2.7 input cmd

我正在尝试在Windows命令行中运行python脚本。脚本正在成功执行。但是当我尝试将输出重定向到文件时,它仍然在控制台中打印。

python hello.py -o hello.out
我做错了什么?

2 个答案:

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

如果您想在文件中包含标准错误和标准输出。