我在python 2.7中有一个程序,我似乎无法在Windows XP上使用重定向输入在命令提示符下运行它。我正在尝试做类似的事情:
C:\>python foo.py < input.txt
但没有任何作用。我尝试过使用&lt;&amp;变化以及不显式调用python.exe。 我也试过各种各样的滚边,但似乎没什么用。
我可以从命令提示符运行python程序并解析参数输入就好了。问题是我无法通过简单的.txt文件输入其中一个参数。
提前致谢。
答案 0 :(得分:0)
问题不在于如何从命令行运行它,而在于如何在脚本中设置argparse。您肯定正确地将文件重定向到stdin。
<强> input.txt中强>
foo
<强> foo.py 强>
import argparse, sys
parser = argparse.ArgumentParser()
parser.add_argument('infile', nargs='?',
type=argparse.FileType('r'),
default=sys.stdin)
opts = parser.parse_args()
print opts.infile.read()
<强>输出强>
C:\> python foo.py < input.txt
foo