解析的值在类argparse.namespace的simple of object中(可以自定义-请参阅文档)。在
通常通过属性名访问这些值,例如args.foo。对于不寻常的名字,你必须使用getattr(args, '[values]')。在
在简单的情况下,参数值是单个字符串或数字。如果nargs像'*'或'+',这些值将在一个列表中。使用append操作类型,您甚至可以获得列表中的列表。在
我鼓励用户打印args名称空间。在In [2]: parser = argparse.ArgumentParser(description='XYZ')
...: parser.add_argument('[values]', nargs='+', help='A list of values')....
In [3]: args =parser.parse_args(['3crlV5QaiuUjRz5kWze', 'F9Xw0rggHZ_PLs62q'])
In [4]: print(args)
Namespace([values]=['3crlV5QaiuUjRz5kWze', 'F9Xw0rggHZ_PLs62q'])
对于您的“dest”,我必须使用getattr从args获取字符串列表。在
^{pr2}$
args是一个简单的对象,因此您可以添加属性或修改现有属性。e、 gIn [6]: args.values = ['3crlV5QaiuUjRz5kWze', 'F9Xw0rggHZ_PLs62q']
In [7]: print(args)
Namespace([values]=['3crlV5QaiuUjRz5kWze', 'F9Xw0rggHZ_PLs62q'],
values=['3crlV5QaiuUjRz5kWze', 'F9Xw0rggHZ_PLs62q'])
如果您更熟悉词典,可以使用vars():In [9]: vars(args)['values']
Out[9]: ['3crlV5QaiuUjRz5kWze', 'F9Xw0rggHZ_PLs62q']
玩这种东西,一个交互式的Python会话。在