如何使用Python接受命令行参数<

时间:2014-10-21 21:30:30

标签: python shell terminal

是否可以使用<运行python脚本并将文件作为参数提供?例如,我的脚本使用以下命令python scriptname.py input.txt和以下代码stuffFile = open(sys.argv[1], 'r')按预期工作。

但是,如果可能,我要做的就是使用此命令行语法:python scriptname.py < input.txt。现在,运行该命令只给我一个参数,所以我可能不得不在我的脚本中调整我的代码,但我不确定如何。

我有一个自动系统处理这个命令,所以它需要准确。如果可以使用Python脚本,我非常感谢一些帮助!

3 个答案:

答案 0 :(得分:1)

< file由shell处理:文件不作为参数传递。相反,它成为程序的标准输入,即sys.stdin

答案 1 :(得分:0)

您可以将sys模块的stdin属性用作对象之类的文件。

答案 2 :(得分:0)

当你使用&lt; shell中的运算符实际上是打开文件并将其内容添加到脚本stdin中 但是有一个python模块可以做到这两点。它被称为fileinput。 https://docs.python.org/2/library/fileinput.html 这篇文章显示了这一点 How do you read from stdin in Python?