在程式設計執行時,你如何動態向包中新增 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-10-2019

396 瀏覽量

開啟您的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.