argparse 错误: 'nargs 必须是 %r 才能提供 const' % OPTIONAL)
Posted
技术标签:
【中文标题】argparse 错误: \'nargs 必须是 %r 才能提供 const\' % OPTIONAL)【英文标题】:argparse error: 'nargs must be %r to supply const' % OPTIONAL)argparse 错误: 'nargs 必须是 %r 才能提供 const' % OPTIONAL) 【发布时间】:2021-11-27 01:49:59 【问题描述】:当我在 python 中使用以下代码时,我不断收到错误:raise ValueError('nargs must be %r to supply const' % OPTIONAL)
:
parser = argparse.ArgumentParser()
parser.add_argument('--username', type=str, required=True,
help="Username to login. Required")
parser.add_argument('--password', type=str, required=True,
help="Password to login. Required.")
parser.add_argument('--chromedriver', type=str, const=r'C:\histdata\batfiles\chromedriver.exe')
parser.add_argument('--output', type=str, const='C:\\histdata\\batfiles\\')
--chromedriver
在线失败。当我将下一行移到它之前进行测试时。它失败。那就是--output
行给出了同样的错误。我知道过去有人发布过类似的错误消息,但我仍然不知道如何修复它。
【问题讨论】:
您正在尝试添加可选参数(即没有required=True
)并且需要您为nargs
设置一个值?如果您不提供nargs
,argparse 会尝试从action
派生它,但您也不提供。 docs.python.org/3/library/argparse.html
'Nargs 必须是可选的才能提供 const"。您在寻找 default=
吗?
更具体地说,请参阅docs.python.org/3/library/argparse.html#const
【参考方案1】:
也许您想使用default
而不是const
?前者用于存储参数的默认值,后者用于指定常量值,当提供参数时将被存储。
【讨论】:
以上是关于argparse 错误: 'nargs 必须是 %r 才能提供 const' % OPTIONAL)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 argparse 中使用带有 nargs='*' 参数的可选位置参数?