三日月館【別館】開発・制作Tips集
[Python] argparseモジュールでコマンドライン引数を解析する
最終更新:
fumiduki1985
-
view
argparseモジュールを使用すると、よくある書式のコマンドライン引数の解析とエラー処理、-h/--helpによる使用方法の表示などをいちいちコーディングする必要がなくなる。
オプションは多岐に渡るため、詳細は公式マニュアルの下記を参照。
リファレンス:https://docs.python.jp/2.7/library/argparse.html#module-argparse
チュートリアル:https://docs.python.jp/2.7/howto/argparse.html#id1
リファレンス:https://docs.python.jp/2.7/library/argparse.html#module-argparse
チュートリアル:https://docs.python.jp/2.7/howto/argparse.html#id1
よくありそうな使用方法を下記に示す。
記述例:
import argparse # パーサーの作成 # description, epilog は -help/-h 使用時に表示されるテキスト。 # argument_default は引数のグローバルなデフォルト値。 parser = argparse.ArgumentParser(description=u'ヘルプの最初に表示されるテキストです。', epilog=u'ヘルプの最後に表示されるテキストです。', argument_default=None) # 位置引数の設定 # int型を受け取る位置引数 parser.add_argument('posArgInt', type=int, help=u'整数引数') # float型を受け取る位置引数 parser.add_argument('posArgFloat', type=float, help=u'浮動小数引数') # int型の3つの値を受け取る位置引数(3つの値がリストとして格納される) parser.add_argument('posArgVec3', type=int, nargs=3, help=u'整数3要素引数') # キーワード引数(オプション引数)の設定 # int型を受け取るキーワード引数 parser.add_argument('-a', '--argA', dest='argA', type=int, default=0, help=u'整数引数') # float型を受け取るキーワード引数 parser.add_argument('-b', '--argB', dest='argB', type=float, default=0.0, help=u'浮動小数引数') # 複数の値から1つを選んで設定するキーワード引数(この例では、ABC、DEF、GHI のいずれかを受け付ける) parser.add_argument('-e', '--argEnum', dest='argEnum', choices=['ABC', 'DEF', 'GHI'], default='ABC', help=u'選択引数') # フラグとして使用するキーワード引数(指定すると argFlag が True になる) parser.add_argument('-f', '--argFlag', dest='argFlag', action='store_true', default=False, help=u'フラグ引数') # 指定必須のキーワード引数 parser.add_argument('-r', '--argReq', dest='argReq', required=True, help=u'必須引数') # 引数の解析 args = parser.parse_args() print args.posArgInt # posArgInt引数にアクセス print args.argA # argA引数にアクセス