Pythonでは、コマンドライン引数を辞書に変換する方法があります。これは、スクリプトが異なる引数を受け取る可能性がある場合に特に便利です。以下に、基本的な方法を示します。
import sys
from collections import defaultdict
d = defaultdict(list)
for k, v in ((k.lstrip('-'), v) for k,v in (a.split('=') for a in sys.argv[1:])):
d[k].append(v)
print(dict(d))
このスクリプトは、コマンドライン引数を取り、それらを辞書に変換します。引数は--key=value
の形式で指定され、同じキーが複数回指定された場合、その値はリストとして格納されます。
例えば、次のようにスクリプトを実行すると、
$ python myscript.py --arg1=1 --arg2=foobar --arg1=4
次のような出力が得られます。
{'arg1': ['1', '4'], 'arg2': ['foobar']}
この方法を使用すれば、任意の数と形式の引数をスクリプトに渡すことができ、それらを適切に処理することができます。
また、Pythonの辞書(dict)についても触れておきましょう。Pythonの辞書は、キーと値のペアを格納するデータ構造で、キーは一意であり、それに対応する値を迅速に検索することができます。辞書は波括弧 {}
を使用して作成され、キーと値はコロン :
を使用して区切ります。
以上が、Pythonでコマンドライン引数を辞書に変換する方法と、Pythonの辞書についての基本的な情報です。これらの知識を活用して、Pythonスクリプトの引数処理をより効率的に行うことができます。