如何添加一个可选参数,该参数具有默认值,可以使用其他值调用,或者可以在没有值的情况下调用(并且具有默认值)。 所以我有这个论点
parser.add_argument("-a", "--automatic", type=int, default=8)
我希望能打电话。
My_script.py -a
如果我想要一个带有8作为参数的自动模式,但如果我想要一个带有10(或任何其他数字)作为参数的自动模式,我也想做例如My_script.py -a 10
。
问题是当我使用My_script.py -a
运行时,我得到一个参数。如果我不想指定8,我也不允许指定-a然后我必须运行My_script.py
,这不是我想要的。
答案 0 :(得分:0)
添加nargs='?'
和const=8
。来自the documentation:
ArgumentParser对象通常将单个命令行参数与要采取的单个操作相关联。 nargs关键字参数将不同数量的命令行参数与单个操作相关联。
...
'?'
。如果可能,将从命令行使用一个参数,并将其作为单个项生成。如果不存在命令行参数,则将生成default的值。请注意,对于可选参数,还有一种情况 - 选项字符串存在但后面没有命令行参数。在这种情况下,将生成const的值。