我正在尝试处理可选的命令行输入文件,并根据是否有要读入的文件,将值设置为文件中的内容或默认值。如何设置Python以检查是否存在从命令行获取的参数?我有下面的内容,但问题是当我用“python myPythonScript.py”运行我的程序时,它仍然评估好像有一个文件要读入,当我从未在文件中管道时。
import sys
value1 = 0
value2 = 0
if len(sys.argv) >= 1):
with open("test.txt", "r") as f:
//file opens here and I take the contents and set values 1 and 2
//based on the input
else:
//values are set to default values that I define here
答案 0 :(得分:2)
替换
if len(sys.argv) >= 1:
使用:
if len(sys.argv) > 1:
如果您将脚本作为python myPythonScript.py
运行,则len(sys.argv)
为1
。这是因为程序名称本身是第一个参数。因此,您可能需要检查len
是否为> 1
,以便从命令行检查可选参数。