サンプルコード
まずはサンプルコードです。
sample.py
import argparse
def arg_parser():
"""Parser."""
parser = argparse.ArgumentParser()
parser.add_argument("arg1") # 引数
parser.add_argument("-arg2", action="store_true") # オプション
parser.add_argument("--arg3", default="nume") # オプション引数
return parser.parse_args()
arg = arg_parser()
print(arg.arg1)
print(arg.arg2)
print(arg.arg3)
実行
python sample.py hoge
# 出力
# hoge
# False
# nume
解説
引数
引数を追加したい場合は下記のように記述します。
必須引数で、引数なしで実行するとエラーになります。
parser.add_argument("arg1")
sample1.py
import argparse
def arg_parser():
"""Parser."""
parser = argparse.ArgumentParser()
parser.add_argument("arg1") # 必須の引数。与えないとエラーを返す。
return parser.parse_args()
arg = arg_parser()
print(arg.arg1)
実行
python sample1.py
# 出力
# usage: sample.py [-h] arg1
# sample.py: error: the following arguments are required: arg1
オプション
オプションを付けたい場合は下記のように記述します。
オプションを指定していないときはFalse、オプションを付けるとTrueが返ります。
parser.add_argument("-arg2", action="store_true") # オプション
sample2.py
import argparse
def arg_parser():
"""Parser."""
parser = argparse.ArgumentParser()
parser.add_argument("-arg1", action="store_true") # オプション
parser.add_argument("-arg2", action="store_true") # オプション
return parser.parse_args()
arg = arg_parser()
print(arg.arg1)
print(arg.arg2)
実行
python sample2.py -arg1
# 出力
# True
# False
オプション引数
オプションで引数を付けたい場合は下記のように記述します。
defaultを指定しないときはNoneがデフォルト値になります。
parser.add_argument("--arg3", default="nume") # オプション引数
sample3.py
import argparse
def arg_parser():
"""Parser."""
parser = argparse.ArgumentParser()
parser.add_argument("--arg1", default="hoge") # オプション引数
parser.add_argument("--arg2", default="fuga") # オプション引数
return parser.parse_args()
arg = arg_parser()
print(arg.arg1)
print(arg.arg2)
実行
python sample2.py --arg1 piyo
# 出力
# piyo
# fuga
まとめ
コマンドライン引数とオプションについてまとめました。
コメント