Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python kwargs错误中无法调用dict_Python_Dictionary_Keyword Argument - Fatal编程技术网

在python kwargs错误中无法调用dict

在python kwargs错误中无法调用dict,python,dictionary,keyword-argument,Python,Dictionary,Keyword Argument,我有以下代码,从yaml读取: if 'parameters' in options: for name, parameter_options in options['parameters'].items(): make_parameters = injector.parameters() print parameter_options parameter_injected = make_parameters(**parameter_opt

我有以下代码,从yaml读取:

if 'parameters' in options:
    for name, parameter_options in options['parameters'].items():
        make_parameters = injector.parameters()
        print parameter_options
        parameter_injected = make_parameters(**parameter_options)
        parameters = cft.add_parameters()
        parameters(key, **parameter_injected)
这给了我一个错误:

参数_options是从yaml读取并打印出来的字典:

{'constraint_description': 'Malformed input-Parameter MyParameter must only contain upper and lower case letters', 'min_length': 12, 'description': 'to do some stuff', 'default': '10.201.22.33', 'max_value': 34, 'min_value': 12, 'allowed_values': ['sdd', 'asas'], 'max_length': 23, 'allowed_pattern': '[A-Za-z0-9]+', 'no_echo': True, 'type': 'String'}

因此,当我执行**参数\u选项时,不应该只是将dict转换为费用吗?

我的错误,将我的代码更正为:

if 'parameters' in options:
    for name, parameter_options in options['parameters'].items():
        parameter_injected = injector.parameters(**parameter_options)
        parameters = cft.add_parameters(name, **parameter_injected)

显示完整回溯和
make\u参数的内容。并将您的问题标记为Python2.7或Python3.x,除非您真正在编写跨版本代码并同时使用这两种代码。(我不认为您没有使用来自未来导入打印功能的
)参数(键,**参数\u注入)=>参数。更新(键,参数\u注入)?参数是一个dict吗?@Scooby你希望那行代码做什么?问题是make_parameters是一个dict,您试图将其作为函数调用。似乎
injector.parameters()
正在返回一个dict,您试图将其作为函数调用。
make_参数
应该是什么?我的错,那是大脑放屁。更正了,谢谢!
if 'parameters' in options:
    for name, parameter_options in options['parameters'].items():
        parameter_injected = injector.parameters(**parameter_options)
        parameters = cft.add_parameters(name, **parameter_injected)