argparse - 带有列表/元组的可选参数

Gil*_*l.I 2 python argparse

我有几个可选参数,其中一个需要存储多个值 - 即它的类型既不是字符串也不是整数。argparse 是否支持其他类型的可选参数?

例如,我想要这个命令:

>>> python example1 test_project --name try1 3
Run Code Online (Sandbox Code Playgroud)

相当于这样的代码:

args.name = {'try1', '3'}
Run Code Online (Sandbox Code Playgroud)

这可能吗?或者,action='store_true'如果他选择此选项,我是否会被迫使用然后提示用户提供更多信息?

mgi*_*son 5

我真的很难回答你的问题。这是你想要的吗?

import argparse

parser=argparse.ArgumentParser()
parser.add_argument('--name',nargs='*',action='store')

print(parser.parse_args('--name try1 3'.split())) #Namespace(name=['try1', '3'])
Run Code Online (Sandbox Code Playgroud)

如果不是,也许您可​​以尝试更清楚地了解您想让 argparse 做什么,以及您可以用它做什么。