我是Python的新手,我想实现script.py
以便处理以下命令
python script.py --opt value1 --opt value2 --opt value3 ... --opt valueN
并打印所有--opt
值,如下所示:
value1
value2
value3
...
valueN
我该怎么做?
我的脚本是:
parser = argparse.ArgumentParser()
parser.add_argument("--opt", help="option description")
args = parser.parse_args()
for arg_opt in args.opt:
print(arg_opt)
我尝试使用for
循环来迭代--opt
值,但没有成功:运行上面的代码只输出最后--opt
值。
答案 0 :(得分:2)
将action参数设置为append
:
'append' - 存储一个列表,并将每个参数值附加到 名单。这对于允许多次指定选项很有用 次。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--opt", action='append')
args = parser.parse_args()
print(args.opt)
演示:
$ python test_argparse.py --opt value1 --opt value2 --opt value3
['value1', 'value2', 'value3']