一个简单的python插件系统
annex的Python项目详细描述
摘要
附件为开发基于插件的工具提供了帮助。
使用annex,您可以从各种python模块加载和重新加载插件 不需要它们存在于Python路径上。
示例用法
在您的项目中,您将定义一个基类,所有插件都从该基类 项目将成为子类。
基本插件.py
class BaseTestPlugin(object): def run(self, *args, **kwargs): raise NotImplementedError()
示例_plugin.py
from base_plugin import BaseTestPlugin class PrinterPlugin(BaseTestPlugin): def run(self, *args, **kwargs): print args, kwargs
食物比
from base_plugin import BaseTestPlugin from annex import Annex plugins = Annex(BaseTestPlugin, ["/path/to/plugins"]) for plugin in plugins: plugin.run("foo", bar="baz")