python - Python argparse 处理多个但相同的标志
问题描述
全部,
我想创建一个参数解析器,它允许对同一命令行选项进行多个指定(想想-e
grep 的标志:您可以指定多个正则表达式)。这是我的测试代码:
parser = argparse.ArgumentParser(description="...my description...")
parser.add_argument("file", nargs="*",
help="email file(s) to process")
parser.add_argument("-i", "--input",
nargs=1, dest="input_list",
help="a text file containing filenames to process")
argp = parser.parse_args(args)
当args
包含多个-i
选项时,例如:['-i', 'file1', '-i', 'file2', 'arg1', 'arg2', 'arg3']
,我只进入'file2'
了生成的命名空间(argp.input_list
)。
argparse 是否适应上述input_list
目标变量可以包含多个值的情况?
威拉万
解决方案
action='append'
可能是你想要的,即:
parser = argparse.ArgumentParser(description="...my description...")
parser.add_argument("file", nargs="*",
help="email file(s) to process")
parser.add_argument("-i", "--input",
dest="input_list", action='append',
help="a text file containing filenames to process")
argp = parser.parse_args(['-i', 'file1', '-i', 'file2', 'arg1', 'arg2', 'arg3'])
给我:
Namespace(file=['arg1', 'arg2', 'arg3'], input_list=['file1', 'file2'])
推荐阅读
- html5boilerplate - html5样板自定义模板
- mysql - How to sort users that have more unread messages to appear first in mysql results
- docker - Docker ASP.NET Core 容器在配置的端口上没有响应
- facebook - 获取在我的 Facebook 页面上喜欢帖子的人的列表
- google-cloud-platform - Cloud PubSub 重复消息触发的 Cloud Functions
- mongodb - 如何根据某些条件从不同的集合中进行 $lookup?
- javascript - 是否有一种平滑的方法可以将功能添加到不同的代码?
- spring-boot - Spring boot 中嵌入 Undertow 的指标
- r - 如何在 ggplot 中将颜色和线型的图例组合成一个图例?
- reactjs - TypeError:无法读取未定义反应的属性“状态”