动态导入模块
目录结构:
zhangsandeMacBook-Air:1110 zhangsan$ tree .
.
├── lib
│ └── aa.py
├── test1.py
lib目录下有一个aa.py文件,其中C类中有一个属性name:
class C:
def __init__(self):
self.name = 'zhangsan'
在test1.py文件中需要动态导入aa这个模块有两种办法:
第一种:
lib = __import__('lib.aa')
obj = lib.aa.C()
print(obj.name)
输出结果:
zhangsan
使用python __import__ 内置方法
第二种(官方推荐的方法):
import importlib
libaa = importlib.import_module('lib.aa')
obj = libaa.C()
print(obj.name)
输出结果:
zhangsan
使用pythonlib模块的import_module()方法