🙂
Pythonでコマンドライン引数を受け取る関数
はじめに
Pythonでコマンドライン引数を受け取る処理が必要になった時用のコードスニペットです。
コードテンプレート
parse_args.py
import argparse
class ParsedArguments:
"""パース後のコマンドライン引数を格納するためのクラス
Attributes
----------
hoge: str
引数--hogeの値
fuga: str
引数--fugaの値
"""
hoge: str
fuga: str
def parse_args() -> ParsedArguments:
"""コマンドライン引数をパースして、型付けされたインスタンスとして返す。
Returns
-------
ParsedArguments
パースされた引数が格納されたインスタンス。
"""
parser = argparse.ArgumentParser(description="This is sample command.")
parser.add_argument('--hoge', type=str, required=True, help='This is hoge argument.')
parser.add_argument('--fuga', type=str, required=True, help='This is fuga argument.')
args = ParsedArguments()
parser.parse_args(namespace=args)
return args
if __name__ == '__main__':
args = parse_args()
print(f"hoge: {args.hoge}")
print(f"fuga: {args.fuga}")
使い方
ParsedArgumentsとparse_args()をコピーし、処理の初めにparse_argsを呼び出すだけでコマンドライン引数を受け取ることができます。ParsedArgumentsクラスを定義することで、IDEでの補完が効くようになります。
Discussion