如何在程式設計執行時動態新增 Python 模組到包中?


要動態匯入 Python 模組,你可以使用 importlib 包的 import_module(moduleName) 函式。你需要將 moduleName 作為字串。例如,

>>> from importlib import import_module
>>> moduleName = "os"
>>> globals()[moduleName] = import_module(moduleName)

如果你想動態匯入一個模組列表,你可以從 for 迴圈中呼叫它。例如,

>>> import importlib
>>> modnames = ["os", "sys", "math"]
>>> for lib in modnames:
...     globals()[lib] = importlib.import_module(lib)

globals() 呼叫會返回一個字典。我們可以為匯入模組後返回給我們的物件設定每個庫的 lib 鍵。

如果你已經匯入了包,現在想要動態匯入它的一個模組,你仍然可以使用相同的功能並獲得預期結果。你要匯入的模組應該有它的全名,而不僅僅是模組名。例如,

>>> import importlib
>>> pack = 'datetime'
>>> mod = 'date'
>>> globals()[pack] = importlib.import_module(pack)
>>> globals()[pack + '.' + mod] = importlib.import_module(pack + '.' + mod)

更新於: 01-Oct-2019

394 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.