我正在研究为一个程序创建一个插件结构,并使它甚至核心库都被视为插件。在我的研究中,我遇到了动态导入模块的代码。在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属性包含什么?