動態導入模塊就是只知道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