argparseで引数の個数を指定する


このエントリーをはてなブックマークに追加

Pythonの標準ライブラリargparseで、nargsを使うと、オプションがとる引数の個数を指定できます。例えば、

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--arg1", nargs=3)
args = parser.parse_args()

if args.arg1:
    print(args.arg1)

とすると、オプションarg1はちょうど3個の引数を要求することを意味します。オプションの使用時には、

$ python prog1.py --arg1 a b c

と書けます。このとき、args.arg1には['a', 'b', 'c']が入ります。

同様に、

  • nargs='?':0個または1個の引数を要求
  • nargs='*':0個以上の引数を要求
  • nargs='+':1個以上の引数を要求

という意味になります。