【模块补充】importlib

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)

posted @ 2023-07-18 15:57  Chimengmeng  阅读(28)  评论(0编辑  收藏  举报
/* */