在 Python 中重新載入或取消匯入模組
模組允許我們在 Python 檔案中儲存不同函式和類的定義,然後這些檔案可以在其他檔案中使用。pandas
、NumPy
、scipy
、Matplotlib
是 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)
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