--option和nargs ='有什么区别?在Python的argparse模块中?

时间:2019-07-01 08:30:23

标签: python arguments argparse optional-arguments

已经阅读了有关argparse的文档,我正努力查看最后两行代码之间的区别:

parser = argparse.ArgumentParser()
parser.add_argument('--option')
parser.add_argument('option', nargs='?')

两者都指定了可以传递给解析器的可选参数,但是为什么要在另一个参数上使用呢?

1 个答案:

答案 0 :(得分:0)

任何以---开头的参数都可以按任何顺序使用(例如**kwargs),而没有破折号前缀的参数称为位置参数(例如{{ 1}})。

必须按定义顺序提供位置参数。使用*args的一个很好的例子是提供一种将脚本结果重定向到文件的方法。您将最终参数指定为可选的目标文件,如果未提供该选项,则将输出简单地写入 stdout

从约定的角度来看,您可以将前缀参数视为可选标志,而位置参数是必需的。