Python コマンドライン引数 #2 argparser

株式会社リュディアです。今回は argparse についてまとめてみます。Python 標準ライブラリの一つでもあるので私は積極的に使っています。

前回までの Python のコマンドライン引数についてのまとめへのリンクは以下を参考にしてください。

argparse の公式チュートリアル日本語版へのリンクは以下です。

では早速見ていきましょう。まず以下の例を見てください。

import argparse

if __name__=='__main__':
   parser = argparse.ArgumentParser()
   parser.parse_args()

チュートリアルにも書かれていますが、この2行を __main__ に追記するだけで --help を付けて実行した場合の出力がサポートされています。

% python CommandArgs.py

% python CommandArgs.py --help
usage: CommandArgs.py [-h]

optional arguments:
 -h, --help  show this help message and exit

では次のようにコードを追記してみましょう。

import argparse

if __name__=='__main__':
   parser = argparse.ArgumentParser()

   parser.add_argument('arg1', help = 'Help message for arg1')
   parser.add_argument('arg2', help = 'Help message for arg2')
   parser.add_argument('-arg3', help = 'Help message for arg3')
   parser.add_argument('--arg4', help = 'Help message for arg4')

   args = parser.parse_args()

   print('arg1 : ', args.arg1)
   print('arg2 : ', args.arg2)
   print('-arg3 : ', args.arg3)
   print('--arg4 : ', args.arg4)

内容を順に説明していきます。最初の parser = argparse.ArgumentParser() はパーサーオブジェクトを生成している部分で共通です。

次の add_argument がオブジェクト parser にどのような引数がとられるのか?を指示している部分です。指示の方法は大きく2つにわけることができます。この例では arg1, arg2 のような必須の引数と、-arg3, --arg4 のようにハイフンから始まるオプショナルな引数です。

また arg1 等に続く help 欄は実行時に -h または --help をつけたときに表示されるメッセージを記載する箇所です。では実行してみましょう。以下の実行結果を見てください。

% python CommandArgs.py input.txt output.txt -arg3 high --arg4 low
# arg1 :  input.txt
# arg2 :  output.txt
# -arg3 :  high
# --arg4 :  low

arg1, arg2 は input.txt, output.txt を指定しています。これらは必須です。-arg3, --arg4 はオプション名に続けて意味は無いですが high, low を指定しています。こちらはオプショナルなのでオプション名とともに値 high, low を指定しています。

Python のコマンドライン引数に関するまとめの続きは以下からどうぞ。

では、ごきげんよう。



この記事が気に入ったらサポートをしてみませんか?