我有以下代码从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)
给了我错误:
parameter_injected = make_parameters(**parameter_options) TypeError: 'dict' object is not callable
parameter_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'}
所以,当我这样做时,**参数不应该只是将dict转换为费用吗?
答案 0 :(得分:0)
我的不好,纠正了我的代码:
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)