我使用的是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])
我该如何实现?