我正在阅读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_const',
...                     const=sum, default=max,
...                     help='sum the integers (default: find the max)')

我可能已经错过了,但是从我阅读的内容中,我找不到metavaraction (action="store_const", etc)。它们实际上是什么意思?

最佳答案

metavar用于帮助消息中预期参数的位置。在此处查看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
...

action定义了如何处理命令行参数:将其存储为常量,追加到列表中,存储 bool 值等。有几种内置操作可用,而且编写自定义操作很容易。

关于python - metavar和action在Python的argparse中意味着什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19124304/

10-10 15:08