如何迭代所有可选参数和相关值?

时间:2014-04-15 15:40:37

标签: python for-loop arguments command-line-arguments argparse

我是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值。

1 个答案:

答案 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']