Python接受争论

时间:2018-05-31 03:02:06

标签: python file-io sys

我正在尝试处理可选的命令行输入文件,并根据是否有要读入的文件,将值设置为文件中的内容或默认值。如何设置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

1 个答案:

答案 0 :(得分:2)

替换

if len(sys.argv) >= 1:

使用:

if len(sys.argv) > 1:

如果您将脚本作为python myPythonScript.py运行,则len(sys.argv)1。这是因为程序名称本身是第一个参数。因此,您可能需要检查len是否为> 1,以便从命令行检查可选参数。