【发布时间】:2012-04-03 06:59:18
【问题描述】:
我正在使用 Python 构建一个 IRC 机器人。我要求机器人是可扩展的,并希望构建一个模块系统,在机器人运行时检查模块并动态注册它们。例如,具有足够访问权限的人可以在 IRC 上发送类似“module enable feedparse”之类的内容,这将在 modules/ 目录中搜索 feedparse 模块。如果存在,则从模块本身的全局变量中获取模块的全名、版本和描述。然后它就地注册并启用该模块。
我该怎么做呢?谢谢!
【问题讨论】:
-
这个问题比较模糊。您想“检查模块”并“即时注册它们”。我不知道“检查”模块是什么意思,也不知道“注册”是什么意思。也许您正在寻找的只是
__import__()? -
通过检查,我的意思是检查机器人“注册”所需的功能是否存在于模块中。通过注册,我的意思是导入它们,我猜想将触发器等“注入”到机器人中,以便模块立即生效。