本文介绍了Pythonargparse中的多个参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望我的脚本使用多个同名参数。

python3 script.py --test test1 --test test2 --test test3 --config config_path

我如何才能做到这一点。到目前为止,我已经从argparse尝试了nargs

# My Solution
import argparse

parser = argparse.ArgumentParser(description='Arg Parser',
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
            allow_abbrev=False)

parser.add_argument('--test', nargs='+', required=True, 
                help='Modules name for sanity check', choices=['test1 ', 'test2 ', 'test3 '])

parser.add_argument('--config')

arg = parser.parse_args()

但它的行为没有什么不同,它的形式是

python3 script.py --test test1 test2 --config config_path

关于如何获得所需行为的任何建议

推荐答案

这应该直接从@hpaulj注释开始添加代码以防万一

parser.add_argument('--test', action='append', required=True, 
                choices=['test1 ', 'test2 ', 'test3 '])

这篇关于Pythonargparse中的多个参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 02:13