在Python的argparse中,metavar和action意味着什么?
我正在通读模块。我被困在metavar和action的意义上在Python的argparse中,metavar和action意味着什么?,python,action,argparse,Python,Action,Argparse,我正在通读模块。我被困在metavar和action的意义上 >>> parser.add_argument('integers', metavar='N', type=int, nargs='+', ... help='an integer for the accumulator') >>> parser.add_argument('--sum', dest='accumulate', action='store_co
>>> parser.add_argument('integers', metavar='N', type=int, nargs='+',
... help='an integer for the accumulator')
>>> parser.add_argument('--sum', dest='accumulate', action='store_const',
... const=sum, default=max,
... help='sum the integers (default: find the max)')
我可能错过了,但从我阅读的内容中,我找不到metavar
和的定义
操作(action=“store\u const”等)
。它们实际上是什么意思?用于帮助消息中预期参数的位置。请参见此处的FOO
是默认的metavar
:
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> parser.add_argument('bar')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage: [-h] [--foo FOO] bar
...
定义如何处理命令行参数:将其存储为常量、追加到列表中、存储布尔值等。有多个内置操作可用,并且可以轻松编写自定义操作。Metavar:它为帮助消息中的可选参数提供了不同的名称。在
add_argument()
中为metavar关键字参数提供一个值
参考:
操作:参数可以触发不同的操作,由add_argument()
的操作参数指定。遇到参数时可以触发六个内置操作:
存储
:在可选地将值转换为其他类型后保存该值。如果未明确指定,则这是默认操作store\u true
/store\u false
:保存适当的布尔值store_const
:保存定义为参数规范一部分的值,而不是来自正在分析的参数的值。这通常用于实现非布尔的命令行标志append
:将值保存到列表中。如果参数重复,则会保存多个值append_const
:将参数规范中定义的值保存到列表中version
:打印程序的版本详细信息,然后退出参考资料:btw,这两者有什么区别
parser.add_参数('cd_data',metavar='.dat',type=str,nargs='+')
和parser.add_参数('-cd_data',metavar='.dat',type=str,nargs='+')
。只有一个更改是cd\u data
到-cd\u data
带有-
的更改是可选参数,请参阅。您能看看这篇文章并给出您的建议吗<代码>http://stackoverflow.com/questions/19126399/why-args-add-argument-works-when-given-in-two-separate-statements-but-not-one-in我想添加以下内容:store\u true
表示如果指定了true,则设置参数值,否则将其保留为None。如果还指定了default
,则param将设置为该值,而不是保留为None。
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', metavar='YYY')
>>> parser.add_argument('bar', metavar='XXX')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage: [-h] [--foo YYY] XXX
positional arguments:
XXX
optional arguments:
-h, --help show this help message and exit
--foo YYY