第10 3節 Python匯入模組能否取消匯入?

2021-09-25 23:25:42 字數 789 閱讀 8327

模組匯入後,是否可以取消匯入?實際上當模組匯入後,是無法逆向還原到匯入前的狀態的,但是可以利用「del 模組名」進行匯入模組的刪除,此時的刪除只是刪除了匯入模組對應的模組變數名,刪除後在呼叫時找不到模組了,但並沒有真正刪除整個匯入模組。為什麼這麼說呢?這是因為刪除後與刪除前python系統內相關的處理不同:

1、 首次匯入會執行匯入的模組檔案,而匯入後刪除模組在此匯入不會執行模組檔案;

2、 使用《第10.2節 檢視匯入的python模組》介紹的方法還是可以檢視到模組名。

請看如下案例:

>>> import importtest

now in importtest module!

>>> importtest.ftest()

execute ftest function....

>>> del importtest

>>> importtest.ftest()

traceback (most recent call last):

file "", line 1, in importtest.ftest()

nameerror: name 'importtest' is not defined

>>> import importtest #刪除後倒入沒有執行模組檔案

>>> importtest.ftest()

execute ftest function....

>>> import sys

>>> for m in sys.modules:

執行結果如下:

Python模組分析 第3節 typing模組

python模組分析 第2節 hashlib加密模組 python模組分析 第4節 logging日誌模組 python是一門弱型別的語言,很多時候我們可能不清楚函式引數型別或者返回值型別,很有可能導致一些型別沒有指定方法,typing模組可以很好的解決這個問題。該模組加入並不會影響程式的執行,不會...

python 匯入模組

最近開始學習python,遇到一些匯入模組的問題,花了幾分鐘終於琢磨明白了,給初學者介紹幾種型別 一 test sys test1 nv1.py nv2.py nv1.py 如下 classdog defadd self a,b self.a a self.b b c self.a self.b r...

python匯入模組

1 模組的定義 模組定義 用來邏輯上組織python 變數 函式 類 邏輯 目的是 實現乙個功能 本質就是.py結尾的python檔案。補充 包的定義 用來從邏輯組織模組的,本質就是乙個目錄 必須帶有乙個 init py檔案 2 匯入方法 匯入模組的方法 1.import module name 匯...