動態導入模塊就是只知道str類型的模塊名字符串,通過這個字符串導入模塊
需要導入的模塊:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author:CarsonLi
class Ccc(object):
def __init__(self,name):
self.name=name
目錄結構:

第一種方式:python解釋器內部使用,不建議用
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author:CarsonLi
'''Python 解釋器內部動態導入方式'''
module_name='import_lib.metaclass' #模塊名的字符串
import_lib=__import__(module_name) #這是解釋器自己內部用的
'''import_lib代表的其實是這個模塊,而不是下面的metaclass'''
c=import_lib.metaclass.Ccc("Bert")#調用下面的方法
print(c.name) #運行結果:Bert
第二種方式:與上面效果一樣,官方建議用這個
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author:CarsonLi
'''官方建議用這個'''
import importlib
module_name='import_lib.metaclass' #模塊名的字符串
metaclass=importlib.import_module(module_name) #導入的就是需要導入的那個metaclass
c=metaclass.Ccc("Bert") #調用下面的方法
print(c.name) #運行結果:Bert
