Python 高级基础与函数详解
1. Python 模块导入
在 Python 中, sys.modules
字典将导入路径映射到导入模块时生成的模块对象。通过在该字典中查找模块,无需处理模块名称的具体细节。不过,这仅适用于绝对导入。相对导入则是相对于导入语句所在的模块进行解析。
为了解决直接使用 __import__()
带来的问题,Python 引入了 importlib
模块,它提供了更直观的模块导入接口。 import_module()
函数与 __import__()
效果相同,但更符合预期。对于绝对导入, import_module()
接受模块路径,且总是返回路径中的最后一个模块,而 __import__()
返回第一个模块。
from importlib import import_module
import_module('os.path')
import_module('os')
需要注意的是, importlib
模块在 Python 3.1 中被完整添加,后被移植到 Python 2.7。Python 3.0 不包含该模块,而更高版本通常都包含。此外, import_module()
支持相对导入,可通过 package
属性指定相对路径的解析参考点,调用时传入