2

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

例如,我想要这个命令:

>>> python example1 test_project --name try1 3

相当于这样的代码:

args.name = {'try1', '3'}

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

4

1 回答 1

6

我真的很难听懂你的问题。这是你想要的吗?

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 做什么,以及您已经能够用它做什么。

于 2012-06-11T17:47:32.693 回答