当前位置:   article > 正文

python importlib详解_importlib模块与__import__详解

python importlib

importlib模块与__import__都可以通过过字符串来导入另外一个模块,但在用法上和本质上都有很大的不同。

通过下面示例说明,有如下一个工程目录:

name = 'test'

defgetName():print(name)

lib/test.py

name = 'demo'

defgetName():print(name)

demo.py

一、importlib模块

importimportlib

mName= 'lib.test'module=importlib.import_module(mName)

module.getName()

testimportlib.py

importlib是python的一个标准库,通过导入importlib,调用import_module()方法,传入用户想要获取的模块对应的路径字符串,即可获取一个模块module,module可以调用这个test模块下的所有属性和方法。

运行结果如下:

二、__import__

__import__是python的一个内置方法,直接调用__import__()即可获取一个模块。

mName = 'demo'module= __import__(mName)

module.getName()

testimport.py

运行结果如下:

此时调用的是同目录下的demo模块,可顺利地获取这个模块,那么当不再同一个目录下呢?

mName = 'lib.test'module= __import__(mName)

module.getName()

testimport.py修改为

运行结果如下:

出错提示表示,当前的模块'lib'没有getName()这个方法,因此没有正确获取到test模块。

mName = 'lib.test'module= __import__(mName, fromlist=['test'])

module.getName()

继续修改testimport.py为

运行结果如下:

可见当加上__import__方法加上参数fromlist即可正确获取。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/272205
推荐阅读
相关标签
  

闽ICP备14008679号