1. 程式人生 > >根據字串的形式,自動匯入模組並使用反射找到模組中的類,並例項化物件,利用importlib和getattr實現的

根據字串的形式,自動匯入模組並使用反射找到模組中的類,並例項化物件,利用importlib和getattr實現的

例如:
    auth資料夾下一個SCRF.py檔案,裡面有一個Cors類
    
        class CORS(object):
            def process_request(self):
                print('666')
auth資料夾同目錄下一個run.py檔案


path = "auth.crsf.CORS"


import importlib

module_path,class_name = path.rsplit('.',maxsplit=1)

# 根據字串的形式匯入模組
m = importlib.import_module(module_path)

cls 
= getattr(m,class_name) obj = cls() obj.process_request()

django的中介軟體用過和django rest framework  setings中的配置版本等用過