importlib
【一】介绍
- importlib 模块是 Python 中用于动态加载和导入模块的内置模块。
- 它提供了一组函数和类,使得我们可以在运行时根据需要加载模块,并且可以对已导入的模块进行操作和管理。
【二】详解及示例:
【1】动态加载模块:
- importlib 模块提供了
import_module
函数 - 通过该函数可以在运行时动态加载一个模块。
- 示例代码如下:
import importlib
module_name = 'math' # 要加载的模块名
math_module = importlib.import_module(module_name)
【2】导入指定模块成员:
- importlib 模块还提供了
import_module
函数的变体 import_module
- 它可以直接返回指定模块的成员。
- 示例代码如下:
import importlib
module_name = 'math' # 要加载的模块名
math_module = importlib.import_module(module_name)
sqrt_func = getattr(math_module, 'sqrt')
【3】重新加载模块:
- 在开发过程中,我们有时需要重新加载一个已经导入的模块,以便应用最新的修改。
- importlib 模块提供了
reload
函数来实现这个功能。 - 示例代码如下:
import importlib
module_name = 'my_module' # 要重新加载的模块名
my_module = importlib.import_module(module_name)
my_module = importlib.reload(my_module)
【4】获取已导入的模块列表:
- 通过
sys.modules
可以获取当前已导入的所有模块的字典 - 其中键为模块名称,值为模块对象。
- 以下示例演示如何遍历已导入的模块列表:
import sys
for module_name, module in sys.modules.items():
print(module_name, module)
【三】参考网站
【17.0】Django框架之中间件思想 - Chimengmeng - 博客园 (cnblogs.com)