这是“便利包装”吗?https://docs.python.org/2/library/importlib.html只是提供了另一种书写方式:
import path.to.my.module
有什么是您无法使用常规import语句执行的操作吗?
最佳答案
在Python 2.7中,importlib
并不是 super 有用。实际上,它的唯一功能是import_module
函数,它使您能够从字符串名称导入模块:
>>> import importlib
>>> importlib.import_module('sys')
<module 'sys' (built-in)>
>>> importlib.import_module('sys').version
'2.7.8 (default, Jul 2 2014, 19:50:44) [MSC v.1500 32 bit (Intel)]'
>>>
请注意,您可以使用内置的
__import__
进行相同的操作,但是通常首选使用import_module
。但是,在Python 3.1及更高版本中,
importlib
的用途已得到扩展。根据documentation:综上所述,
importlib
现在允许您访问Python的导入语句的内部信息,构建自定义查找器,加载器和导入器,设置导入 Hook 等。实际上,从3.3版开始,
importlib
保留了导入语句本身的实现。您可以在Using importlib
as the Implementation of Import下的“Python 3.3新增功能”页面中了解有关此内容的信息。另外,
importlib
将替换与将来的Python版本中的导入相关的旧模块。例如,版本3.4中不推荐使用旧的 imp
模块,而推荐使用importlib
。考虑到所有这些,我想可以肯定地说
importlib
在现代Python中非常重要。 ;)关于python - Python的importlib有什么意义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27307072/