通过字符串的形式,导入模块。使用__import__
1 In [3]: SYS = __import__("sys") 2 3 In [4]: SYS.path
如果导入模块在多级文件夹下
__import__("**.**.**", fromlist=True)
通过字符串的形式,去模块中寻找指定函数,并执行
1 module_name = __import__("module") 2 fun = getattr(module_name, "fun_name") 3 fun()
setattr, getattr, hasattr, delattr
使用getattr实现动态创建对象
现在s1.py文件中,有个Foo类
在s2.py文件中,根据类名,使用getatt获取类对象然后创建对象
1 m = __import__("s1", fromlist="True") 2 #获取类对象 3 class_name = getattr(m, "Foo") 4 #创建对象 5 obj = class_name()