importlib 与__import__的区别
importlib
import importlib name = "lib.test" # lib.test指的是lib路劲下的test模块 module = importlib.import_module(name) module.getName() # getName() 是 test 内的一个函数
Importlib是python的一个库,通过导入importlib,调用import_module()方法,传入用户想要获取的模块对应的路径字符串,即可获取一个模块module,module可以调用这个test模块下的所有属性和方法
__import__
name = 'lib.test' module = __import__(name) module.getName()
当不再同一个目录下
name = 'lib.test' module = __import__(name, fromlist['test']) #当不再同一目录下时,要用fromlist关键字参数来指定子模块 module.getName()
当使用import导入Python模块的时候,默认调用的是
__import__()
函数。直接使用该函数的情况很少见,一般用于动态加载模块。
__import__(name, globals, locals, fromlist, level)
只有name
是必选参数,其他都是可选参数,一般情况下直接使用name
参数即可
fromlist
指明需要导入的子模块名,level指定导入方式(相对导入或者绝对导入, 默认两者都支持)。