Pythonのargparseモジュールは、コマンドライン引数のパースを容易にする強力なツールです。この記事では、argparseを使ってコマンドライン引数を辞書として扱う方法を紹介します。

argparseの基本

argparseモジュールは、ユーザーフレンドリーなコマンドラインインターフェースを作成するためのツールです。プログラムは必要な引数を定義し、argparseはそれらをsys.argvからパースする方法を決定します。

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('filename')  # positional argument
parser.add_argument('-c', '--count')  # option that takes a value
parser.add_argument('-v', '--verbose', action='store_true')  # on/off flag

args = parser.parse_args()
print(args.filename, args.count, args.verbose)

コマンドライン引数を辞書として扱う

argparseのArgumentParserを使った場合、パースした後はNamespace型のデータとして吐き出されます。しかし、これを辞書型に変換することで、より柔軟にデータを扱うことができます。

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("test", type=str, help='test')

args = parser.parse_args()  # ⇦これがNamespace型

args_dict = vars(args)  # Namespace型を辞書型に変換

以上のように、argparseとvars()関数を組み合わせることで、コマンドライン引数を辞書として扱うことができます。

このテクニックを使えば、コマンドライン引数をより直感的に、そしてPythonらしく扱うことができます。ぜひお試しください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です