我想在Windows命令行中运行python脚本。脚本正在成功执行。但是当我尝试将输出重定向到文件时,它仍然在控制台中打印。从命令行窗口运行python不工作
python hello.py -o hello.out
我是否做错了什么?
我想在Windows命令行中运行python脚本。脚本正在成功执行。但是当我尝试将输出重定向到文件时,它仍然在控制台中打印。从命令行窗口运行python不工作
python hello.py -o hello.out
我是否做错了什么?
,我认为你应该这样做:
**编辑** 另外一个问题是问标准输入。
在命令行,你可以做这样的事情:
python foo.py <in.txt> out.txt
里面foo.py
你需要确保你是从什么地方抓标准输入,所以做这样的事情:
import fileinput
for line in fileinput.input():
print(line)
# do stuff with each line of input
除非您的脚本本身支持-o
,否则我并不期望该标志可以执行任何操作。 python
没有这样的选项,如果有的话,你必须把它放在你的脚本的名字之前,这样它才能被识别为解释器的选项,而不是你的脚本。
这是一篇关于如何在Windows中重定向输出的好文章:https://support.microsoft.com/en-us/kb/110930。令人惊讶的是,它和Linux一样,使用>
这个字符。你举的例子应该写成要么
或
python hello.py > hello.out 2>&1
如果要包括标准错误,以及在你的文件标准输出
。
如何在命令行中将标准输入更改为给定文件?就像'python hello.py -i hello.in -o hello.out' –
试试这个,让我知道它是否工作'python foo.py < in.txt > out.txt'。我编辑了我的帖子以反映此更新。 – idjaw
雅,它的工作。谢谢 –