为了账号安全,请及时绑定邮箱和手机立即绑定

制作类似插件系统的东西

制作类似插件系统的东西

交互式爱情 2021-03-20 08:25:44
我想制作类似插件系统的东西,但无法使其正常工作。具体来说,我有一些要求。我有主要脚本谁应该在./plugins目录中搜索其他python脚本并加载它们。该主脚本正在搜索使用以下方法从Base继承的类globals()如果我将这些类放在相同的主文件中,则效果很好,但我无法按需运行。是否可以在Python中执行此操作?我尝试做这样的事情:资料来源:plugins / test.pyclass SomeClass(Base):    def __init__(self):        self.name = "Name of plugin"主脚本仅在此类上执行一些方法。
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

您可以动态导入python文件,也可以使用该exec语句(确保定义要在其中执行的上下文,否则将使用您在其中使用该语句的上下文)。然后使用Base.__subclasses__,假设Base它是一种新型类,或者从导入的插件模块中调用一个函数。在后一种情况下,您必须提供插件注册机制。


查看完整回答
反对 回复 2021-03-31
  • 3 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信