gpt4 book ai didi

python - 在conf文件中定义函数头

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:17 25 4
gpt4 key购买 nike

我在 Python 中使用字典/get 构造作为 switch case。它看起来与此类似:

def switch_function(pluginID, param):
switcher = {
'someid': somefunction(param),
}
return switch_function.get(pluginID, None)

但是,我想通过另一个键值对扩展字典,该键值对在conf文件中定义。我想要一个函数头作为值。函数头应该是该函数的头部,对于特定的pluginid,该函数应该在 switch case 中执行。配置文件将如下所示:

[aSection]
pluginid='anotherid'
functionHead: anotherfunction2

扩展字典应该很容易,但是是否可以将函数头映射为conf文件中的值?

最佳答案

以下示例将为您提供一个 exec 子句。你的 dict 应该扩展成这样:

switcher[config["aSection"]["anotherid"])] = func

然后你需要定义 func 看起来像这样:

#CONF
#[aSection]
#pluginid='anotherid'
#functionHead: anotherfunction2

#PYTHON
#config is an instance of a config parser
def func (param):
exec ("%s(param)" % config["aSection"]["functionHead"])

这将调用您之前定义的名为 anotherfunction2 的函数。像这样调用函数:

switcher[config["aSection"]["anotherid"])](param)

希望这有帮助!

关于python - 在conf文件中定义函数头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com