Pythonのargparseモジュールは、コマンドラインインターフェースの作成を容易にします。このモジュールは、プログラムが必要とする引数を定義し、それらの引数をsys.argvから解析します。
argparseモジュールの中心的な機能は、argparse.ArgumentParserのインスタンスを作成することです。このインスタンスは、引数の仕様のコンテナであり、パーサ全体に適用するオプションを持っています。
parser = argparse.ArgumentParser(
prog='ProgramName',
description='What the program does',
epilog='Text at the bottom of help'
)
ArgumentParser.add_argument()メソッドは、各引数の仕様をパーサーに追加します。このメソッドは位置引数、値を受け取るオプション、機能のオン/オフを切り替えるフラグをサポートします。
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
そして、dest
パラメータは、引数解析結果の名前空間で使われる属性名を指定します。これにより、引数の値をプログラム内で利用する際に、その引数の名前を自由に設定することができます。
parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)')
この例では、--sum
という引数が指定された場合、その値はaccumulate
という名前でアクセスできます。
以上が、Pythonのargparseモジュールとdest
パラメータの基本的な使い方となります。これを理解することで、より複雑なコマンドラインインターフェースの作成が可能となります。