argparse add_argument 来自字典
argparse add_argument from dictionary
我尝试使用以下字典在 argparse 中生成参数:
inititateCmdMap = {
'-l': {
'help': 'list of transactions for type',
'choices': ['all', 'utxq', 'mtxq']},
'-u': {
'help', 'url of rest server'},
'-k': {
'help': 'something helpful'},
'-x': {
'help': 'expression'}}
但我不确定如何传递它,因为以下情况除外:
[parser.add_argument(v[0], v[1]) for v in inititateCmdMap.items()]
in add_argument
kwargs = self._get_optional_kwargs(*args, **kwargs)
File "/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/argparse.py", line 1446, in _get_optional_kwargs
if not option_string[0] in self.prefix_chars:
KeyError: 0
这可能吗?
您传递的是 dict 本身,而不是解压其内容。
这样试试:
for arg, kwargs in inititateCmdMap.items():
parser.add_argument(arg, **kwargs):
我尝试使用以下字典在 argparse 中生成参数:
inititateCmdMap = {
'-l': {
'help': 'list of transactions for type',
'choices': ['all', 'utxq', 'mtxq']},
'-u': {
'help', 'url of rest server'},
'-k': {
'help': 'something helpful'},
'-x': {
'help': 'expression'}}
但我不确定如何传递它,因为以下情况除外:
[parser.add_argument(v[0], v[1]) for v in inititateCmdMap.items()]
in add_argument
kwargs = self._get_optional_kwargs(*args, **kwargs)
File "/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/argparse.py", line 1446, in _get_optional_kwargs
if not option_string[0] in self.prefix_chars:
KeyError: 0
这可能吗?
您传递的是 dict 本身,而不是解压其内容。
这样试试:
for arg, kwargs in inititateCmdMap.items():
parser.add_argument(arg, **kwargs):