importlib.import_module 目录层级深用法
时间: 2024-10-16 19:03:40 浏览: 17
`importlib.import_module` 是 Python 标准库中的一个函数,用于动态导入模块,特别是当需要处理包含深层次目录结构的模块路径时非常有用。这个函数接受一个字符串形式的模块名称作为输入,它会按照路径分隔符 (通常是 `.`) 来查找并加载相应的模块。
例如,如果你有一个模块结构如下:
```
my_package/
|-- subpackage1/
| |-- __init__.py
| |-- module1.py
|-- subpackage2/
| |-- __init__.py
| |-- module2.py
|-- main.py
```
要在 `main.py` 中动态导入 `subpackage1.module1`,你可以这样做:
```python
import importlib
# 获取到顶层包名
top_level_package = 'my_package'
# 深层次目录路径
module_path = 'subpackage1.module1'
# 使用 importlib 导入模块
full_module = importlib.import_module(f'{top_level_package}.{module_path}')
```
通过这种方式,你可以在运行时根据需要导入任意深度的模块,而不需要预先导入整个目录树。
阅读全文