在 Python 中重新載入或取消匯入模組

Manav Narula 2023年1月30日 2021年2月28日
  1. 在 Python 中取消匯入模組
  2. 在 Python 中重新載入一個模組
在 Python 中重新載入或取消匯入模組

模組允許我們在 Python 檔案中儲存不同函式和類的定義,然後這些檔案可以在其他檔案中使用。pandasNumPyscipyMatplotlib 是 Python 中使用最廣泛的模組。

我們也可以在 Python 中建立自己的模組,這樣可以提高模組化程度,簡化大型程式。

在 Python 中取消匯入模組

我們使用 import 命令將一個特定的模組載入到 Python 的記憶體中。我們不能取消匯入一個模組,因為 Python 將它儲存在快取中,但我們可以使用一些命令,並嘗試取消引用這些模組,以便我們在程式中無法訪問它。然而,這些方法有時可能會失敗,所以請小心。

第一個是 del 命令。它用於刪除 Python 中的各種物件。下面顯示了使用此命令刪除對模組的訪問。

import module_name
del module_name

sys.modules 是一個字典,可以用 sys 模組檢視,用來儲存一個函式和模組的引用。我們可以使用 del 命令從這個字典中刪除所需的模組,刪除它的每一個引用。要刪除那些被引用次數多的模組是很困難的,所以在使用時需要小心。這種方法可能會產生不必要的結果,所以請謹慎。

if 'myModule' in sys.modules:
    del sys.modules["myModule"]

在 Python 中重新載入一個模組

如果我們對一個模組進行了修改,並且希望在不重新啟動程式的情況下實現這些修改,我們可以使用 reload() 函式來重新載入所需的模組。

reload() 函式在 Python 中有著悠久的歷史。直到 Python 2.7,它都是一個內建函式。

在 Python 3.0 到 Python 3.3 中,它存在於 imp 庫中,後來被棄用,改為 importlib 模組,它包含了實現 Python 檔案中程式碼匯入機制的函式。

下面的程式碼展示瞭如何使用 reload() 函式。

import importlib
reload(module_name)
Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python Module