动态导入模块
目录结构:
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()方法