Python3 動態導入模塊的兩種方式


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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM