第十九章:模块和包-importlib:Python的导入机制-导入模块

19.1.3 导入模块
给定一个绝地名或相对名,importlib中的高层API便可以简化导入一个模块的过程。使用一个相对模块名时,可以指定包含这个模块的包作为一个单独的参数。

import importlib

m1 = importlib.import_module('example.submodule')
print(m1)

m2 = importlib.import_module('.submodule',package='example')
print(m2)

print(m1 is m2)

import_module()的返回值是这个导入创建的模块对象。
第十九章:模块和包-importlib:Python的导入机制-导入模块_第1张图片
如果无法导入这个模块,则import_module()会产生一个ImportError。

import importlib


try:
    importlib.import_module('example.nosuchmodule')
except ImportError as err:
    print('ERROR:',err)

错误消息包含缺少的模块名。
在这里插入图片描述
要重新加载一个现有的模块,可以使用reload()。

import importlib


m1 = importlib.import_module('example.submodule')
print(m1)

m2 = importlib.reload(m1)
print(m1 is m2)

reload()的返回值是新模块。取决于所用加载工具的类型,这可能是相同的模块实例。
第十九章:模块和包-importlib:Python的导入机制-导入模块_第2张图片

你可能感兴趣的:(Python标准库)