argparseとは?
Python 標準ライブラリの一部であり、コマンドライン引数の解析モジュール。
ヘルプと使用方法メッセージを生成し、ユーザーが不要な引数をプログラムに指定したときにエラーを発生させる。
参考文献:
Argparse チュートリアル — Python 2.7.14 ドキュメント
位置指定引数、optional引数なんかを設定できる。
ほぼ何もしない簡単な例
何も設定しなくても、helpだけは出力される。
prog.py
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
実行結果
$ python prog.py --help usage: prog.py [-h] optional arguments: -h, --help show this help message and exit
位置指定引数
prog.py
import argparse parser = argparse.ArgumentParser() #違いは下3行、echoとは文字を出力させるコマンドの意 parser.add_argument("echo", help="echo the string you use here") args = parser.parse_args() print args.echo
helpにヘルプメッセージを記載
$ python prog.py -h usage: prog.py [-h] echo positional arguments: echo echo the string you use here optional arguments: -h, --help show this help message and exit
$ python prog.py foo foo
計算プログラム
argparseは与えられたオプションを文字列として認識するのでadd_argument()でintとして認識させる。
prog.py
import argparse parser = argparse.ArgumentParser() parser.add_argument("square", help="display a square of a given number", type=int) args = parser.parse_args() print args.square**2
実行結果
$ python prog.py 4 16
以下、作成中…
サブパーサーの設定
15.4. argparse — コマンドラインオプション、引数、サブコマンドのパーサー — Python 2.7.14 ドキュメント
subparsers = parser.add_subparsers(help='commands', dest='command')
ヘルプ出力内のサブパーサーグループのヘルプ:commands
サブコマンド名配下に格納される属性の名前:command
actionの説明
http://docs.python.jp/2.7/library/argparse.html?highlight=argparse#action