95

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)。それらは実際にはどういう意味ですか?

4

2 に答える 2

51

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は、コマンドライン引数の処理方法を定義します: 定数として格納する、リストに追加する、ブール値を格納するなどです。利用可能な組み込みアクションがいくつかあり、さらにカスタム アクションを簡単に作成できます。

于 2013-10-01T19:36:37.903 に答える