在 Python 中重新載入模組?


reload() 用於重新載入之前匯入的模組或已載入的模組。這在互動式會話中反覆執行測試指令碼的情況下非常有用,因為它始終使用我們正在開發的模組的第一個版本,即使我們已經更改了程式碼。在這種情況下,我們需要確保模組已重新載入。傳遞給 reload() 的引數必須是之前成功匯入的模組物件。

執行 reload() 時,需要了解以下幾點:

  • Python 模組的程式碼將被重新編譯,並且模組級程式碼將被重新執行,定義一組新的物件,這些物件透過重用最初載入模組的載入器繫結到模組字典中的名稱。但是,模組的初始化函式不會再次載入。

  • 只有在舊物件的引用計數降至零後,才會回收舊物件。

  • 如果存在任何更改,模組名稱空間中的名稱將更改為新物件。

  • 舊物件的其它引用(例如模組外部的名稱)不一定指向新物件,如果需要,必須在每個出現的名稱空間中更新它們。

如何載入模組

讓我們首先看看如何在 Python 中載入模組。使用 `import` 語句載入:

import importlib

如何重新載入模組

reload() 方法用於重新載入模組。傳遞給 reload() 的引數必須是之前成功匯入的模組物件。

import importlib
importlib.reload(module)

示例

我們正在重新載入 `importlib` 模組:

import sys
import importlib
importlib.reload(sys)

更新於:2022年8月16日

18K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

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