OS関係
ファイル
数学・科学
出力
その他
argparse
|
Pythonコマンドライン引数の解析 (argparse)ここでは,Python でコマンドライン引数を解析する「argparse」について,説明します. 目次argparse とはargparse はコマンドライン引数に関する解析を行います.その概要を示します. 概要通常,コマンドラインで実行するプログラムに外部からその実行のための条件 (データ) を与えるには,コマンドライン引数を使います.このコマンドライン引数の処理のコードにはエラーの処理などを書く必要があり,結構面倒です.ヘルプも書くとなおさらです.argparse を使うと,これらの処理のコードをコードを容易に書くことができます.コマンドラインのプログラムには,ぜひとも使ってほしい機能です. 何ができるのか?「何ができるか?」という質問には,具体例を示した方が分かりやすいでしょう.argparse を使ったプログラムと動作例を示します. プログラム例argparse を使った例を以下に示します(strjoin.py).このプログラムは 2 つの文字列を受け取り,それらを結合し,指定回数の繰り返しを行います.繰り返し回数の指定がない場合は,繰り返ししません (1回の繰り返し). import argparse parser = argparse.ArgumentParser(description='(a+b)*MULTI を表示') parser.add_argument('a', help='最初の文字列です.') parser.add_argument('b', help='二番目の文字列です.') parser.add_argument('-m', '--multi', default=1, type=int, help='繰り返し数') args = parser.parse_args() # コマンドライン引数の取得 print((args.a+args.b)*args.multi) プログラムの内容はとても単純です.これで,argparse はエラー処理もしてくれます. このプログラムのコマンドライン引数の部分は,以下のとおりです.
実行結果引数が正しい場合 このプログラムの実行結果を確認します.プログラムはコマンドライン引数を受け取り,意図したとおりに動作します. $ python3 strjoin.py -m 3 aaa XXX aaaXXXaaaXXXaaaXXX 引数に誤りがある場合 引数の間違いがある場合の実行結果を以下に示します.プログラムは使い方とエラーの内容を示し,停止します. $ python3 strjoin.py zzz usage: strjoin.py [-h] [-m MULTI] a b strjoin.py: error: the following arguments are required: b ヘルプの表示&emph;オプションに「-h (--help もOK)」を指定すると,ヘルプが現れます. $ python3 strjoin.py -h usage: strjoin.py [-h] [-m MULTI] a b (a+b)*MULTI を表示 positional arguments: a 最初の文字列です. b 二番目の文字列です. optional arguments: -h, --help show this help message and exit -m MULTI, --multi MULTI 繰り返し数 クラスやメソッドの詳細クラス: ArgumentParser の引数クラス: ArgumentParser のコンストラクターの引数は,以下のとおりです. class argparse.ArgumentParser(prog=None, usage=None, description=None,\ epilog=None, parents=[],\ formatter_class=argparse.HelpFormatter, prefix_chars='-',\ fromfile_prefix_chars=None,\ argument_default=None, conflict_handler='error',\ add_help=True, allow_abbrev=True)
ページ作成情報参考資料更新履歴
|