Python中如何配置argparse让同一个参数可被多次单独传入
argparse实现同一参数多次单独传入的方法
你只需要在调用add_argument()方法时指定action='append'参数即可,该参数的作用是将每次传入的参数值自动追加到同一个列表中,无需使用nargs参数。
示例代码
import argparse parser = argparse.ArgumentParser() # 配置action为append,支持多次传入-l参数 parser.add_argument('-l', action='append', type=str, default=[], help='可多次传入的字符串参数') args = parser.parse_args() # 打印所有传入的-l参数值 print(args.l)
运行效果
执行你需要的调用命令:
python myProg.py -l hay -l how -l are -l you
程序输出结果为:
['hay', 'how', 'are', 'you']
补充说明
- 建议配置
default=[]作为默认值,避免用户未传入该参数时,参数值为None导致后续处理报错。 - 如果需要限制传入参数的最大/最小次数,可以配合
required参数或者后续自行校验列表长度实现。
内容的提问来源于stack exchange,提问作者Natan Ytzhaki
相关产品推荐
相关产品推荐

