Pythonのargparse
モジュールは、コマンドラインインターフェースの作成を容易にします。このモジュールは、プログラムが必要とする引数を定義し、それらをsys.argv
から解析する方法をargparse
が解決します。
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
ArgumentParser.parse_args()
メソッドはパーサを実行し、抽出したデータをargparse.Namespace
オブジェクトに配置します。
args = parser.parse_args()
print(args.filename, args.count, args.verbose)
argparse
のグループは、ヘルプのフォーマットに影響を与えるだけで、パースにはほとんど影響を与えません。通常の引数グループはヘルプのフォーマットに影響を与えるだけで、その目的だけでそのようなグループを定義することがあります。相互に排他的なグループは使用法のフォーマットに影響を与え、それらが違反された場合にエラーメッセージを発行します。
以上がPythonのargparse
モジュールとそのグループ化についての基本的な説明です。この情報がPythonのコマンドライン引数の解析とそのグループ化についての理解を深めるのに役立つことを願っています。