Pythonargparse中的多个参数

2022-05-06 00:00:00 python argparse

问题描述

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

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 '])

相关文章