我正在研究为一个程序创建一个插件结构,并使它甚至核心库都被视为插件。在我的研究中,我遇到了动态导入模块的代码。在def __initialize_def(self, module):
"""Attempt to load the definition"""
# Import works the same for py files and package modules so strip!
if module.endswith(".py"):
name = module [:-3]
else:
name = module
# Do the actual import
__import__(name)
definition = sys.modules[name]
# Add the definition only if the class is available
if hasattr(definition, definition.info["class"]):
self.definitions[definition.info["name"]] = definition
logging.info("Loaded %s" % name)
我试着理解这段代码在做什么,我已经成功到了一定程度。但是,我完全无法理解代码的后面部分,特别是这两行:
^{pr2}$
我搞不懂definition.info[""]指的是什么。在
这本.info[]字典是什么?它包含什么?它是对所有Python对象通用还是只对模块对象通用?它有什么用?在
更多推荐
python中info的功能_在python中,模块对象的info属性包含什么?
发布评论