gpt4 book ai didi

Python argparse 处理多个但相同的标志

转载 作者:行者123 更新时间:2023-12-01 08:54:53 27 4
gpt4 key购买 nike

全部,

我想创建一个参数解析器,允许对同一命令行选项进行多个指定(想想 grep 的 -e 标志:您可以指定多个正则表达式)。这是我的测试代码:

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'],我在生成的命名空间 (argp.input_list) 中只得到了 'file2'

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

关于Python argparse 处理多个但相同的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52843734/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com