1. ホーム
  2. python

[解決済み] Pythonのargparseにおけるmetavarとactionの意味とは?

2023-02-12 15:15:25

質問

私は argparse モジュールを読んでいます。私はmetavarとアクションが何を意味するのかとして立ち往生しました。

>>> 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) .これらは実際に何を意味するのでしょうか?

どのように解決するのですか?

メタバー は、ヘルプメッセージの中で、期待される引数の代わりに使われます。参照 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
...

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