import argparse parser = argparse.ArgumentParser() parser.add_argument('name') parser.add_argument('--age', '-a', type=int) args = parser.parse_args() data = args.__dict__ print(type(data)) print(data) for name, value in data.items(): print(f'{name} ---> {value}')
このコードを start.py に保存し、実行すると
python start.py Alice --age 28 <class 'dict'> {'name': 'Alice', 'age': 28} name ---> Alice age ---> 28
となります。args は Namespace で、Namespace はドットで値をとれます。一部の統合開発環境は定義した引数名をチェックしないため、下のコードを書いたとき、args にドットを続けても name は候補にあらわれません。
import argparse parser = argparse.ArgumentParser() parser.add_argument('name') parser.add_argument('--age', '-a', type=int) args = parser.parse_args() name = args.name age = args.age print(name) print(age)