我是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
值。
python script.py --opt value1 --opt value2 --opt value3 ... --opt valueN
;另一个是python script.py --opt value1 value2 value3 ... valueN
这种带有多个值的选项。也就是说,在最后一种情况下,我希望支持一个或多个--opt
的多个值。有可能吗? - Backonargs='*'
应该会有所帮助。 - alecxenargs='*'
差不多符合我的需求,但它生成了“嵌套”的数组:当我运行python script.py --opt value1 value2 --opt value3 --opt valueN
时,它输出的是[['value1', 'value2'], ['value3'], ['valueN']]
。而我需要的是['value1', 'value2', 'value3', 'valueN']
。 - Backo