Python3學習之路~7.4 動態導入模塊
阿新 • • 發佈:2019-03-01
sel module class ron init pri div 新建 模塊名 2.__import__("lib.aa")相當於動態以字符串形式導入了lib,而不是aa模塊;
3.這是python解釋器內部使用的,不建議用。
動態導入模塊就是只知道str類型的模塊名字符串,通過這個字符串導入模塊。
準備:
首先創建一個模塊目錄lib,然後在目錄內創建一個模塊 aa.py:
# aa.py
class C: def __init__(self): self.name = ‘alex‘
然後在lib目錄平級新建測試代碼 test.py,實現動態導入模塊。
方法1: __import__
代碼:
# test.py lib = __import__("lib.aa") print(lib.aa.C().name)
說明:
1.函數功能用於動態的導入模塊,主要用於反射或者延遲加載模塊;
3.這是python解釋器內部使用的,不建議用。
方法2:import importlib
代碼:
# test.py import importlib aa = importlib.import_module("lib.aa") print(aa.C().name)
說明:
1.使用importlib進行動態導入;
2.importlib.import_module("lib.aa")相當於動態以字符串形式導入了lib下的aa模塊;
3.與上面效果一樣,官方建議用這個。
Python3學習之路~7.4 動態導入模塊