上图可知aa文件在lib文件夹中,现在在动态模块导入文件中需要使用aa文件的类C。
有两种方法:
1.
mod = __import__("lib.aa")
print(mod.aa.C('liu').name)
重点
- 虽然mod = lib.aa,但是在使用的时候依然要写上变量名mod.aa,不能直接aa.C。
- 导入的时候后面需要带.aa,不能直接写上lib。
2
上面那种方法虽然也可以用,但是官方推荐的是第二种。
import importlib
aa = importlib.import_module('lib.aa')
print(aa.C("fang").name)
第二种方法中变量名是直接等于aa的,而不是像上面那种等于lib。
这种方法可以直接用aa.C(),而不需要lib.aa.C()。