有时候,我们很需要在程序运行的过程中,根据变量或者配置动态的决定导入哪个模块。
假设我们需要导入的模块module_12定义在subPack1文件夹下面,内容如下。
- def funcA12():
- print('funcA12 in module_12')
- return
- import os
- print os.path.join(os.path.abspath(os.path.dirname(__file__)),('templates'))
- print os.path.join(os.path.relpath(os.path.dirname(__file__)),'..templates')
在这个模块的上层需要动态导入这个模块,可以使用下面的代码。
使用importlib模块的import_module方法就可以实现动态的导入。
- import importlib
- mo =importlib.import_module('subPack1.module_12')
- mo.funcA12()
转载于:https://blog.51cto.com/virusswb/794685