argparse の Namespace を辞書型にして引数名と値を for でとる:Python
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)










