如何在argparse中为可选参数附加默认值?

时间:2019-02-26 17:03:08

标签: python argparse

我使用的是argparse,我知道可以为特定的参数设置action='append',然后每次设置该参数时,值都会被追加,例如

parser = argparse.ArgumentParser()
parser.add_argument("-a", type=int, action="append")
args = parser.parse_args(["-a", "5", "-a", "6"])
print(args)

输出为:

Namespace(a=[5, 6])

对于我的应用程序,我想输入参数名称-img,后跟子参数,path是字符串类型的位置子参数,而val是可选子参数类型为int,默认为零。 因此,对应于代码:

args = parser.parse_args(["-img", "/path-to-img-0", "5", 
                          "-img", "/path-to-img-1"])

我想得到:

args = Namespace(path=["/path-to-img-0", "/path-to-img-1"],
                 val=[5, 0])

我该如何实现?

0 个答案:

没有答案