Pythonのargparse
モジュールは、コマンドライン引数の解析を容易にします。このモジュールを使用すると、プログラムが必要とする引数を定義し、argparse
がそれらをsys.argv
から解析する方法を決定します。
argparse
モジュールは、引数の仕様を含むargparse.ArgumentParser
のインスタンスを中心に構築されています。以下に基本的な使用方法を示します。
import argparse
parser = argparse.ArgumentParser(description='What the program does')
parser.add_argument('filename') # positional argument
parser.add_argument('-c', '--count') # option that takes a value
parser.add_argument('-v', '--verbose', action='store_true') # on/off flag
args = parser.parse_args()
print(args.filename, args.count, args.verbose)
上記の例では、add_argument
メソッドを使用して引数の仕様をパーサに追加しています。このメソッドは、位置引数、値を受け取るオプション、オン/オフフラグをサポートしています。
デフォルト引数値については、引数が提供されなかった場合に使用される値を指定できます。例えば、以下のコードでは、--sum
オプションが指定されなかった場合、デフォルトの動作として最大値を見つけるようになっています。
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
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)')
args = parser.parse_args()
print(args.accumulate(args.integers))
このように、Pythonのargparse
モジュールを使用すると、コマンドライン引数の解析とデフォルト値の設定が容易になります。