我有几个可选参数,其中一个需要存储多个值 - 即它的类型既不是字符串也不是整数。 argparse是否支持其他类型的可选参数?
例如,我想要这个命令:
>>> python example1 test_project --name try1 3
相当于这样的代码:
args.name = {'try1', '3'}
这可能吗?或者我是否会被迫使用action='store_true'
,然后在选择此选项时提示用户提供更多信息?
答案 0 :(得分:4)
我真的很难回答你的问题。这是你想要的吗?
import argparse
parser=argparse.ArgumentParser()
parser.add_argument('--name',nargs='*',action='store')
print(parser.parse_args('--name try1 3'.split())) #Namespace(name=['try1', '3'])
如果不是,也许你可以尝试更清楚一点,你想做什么做argparse做什么,以及你能用它做什么。