python 上下文管理器

2021-08-31 07:21:03 字數 680 閱讀 5308

對於像檔案操作,socket等資源都是比較珍貴的資源,因此一旦出錯是乙個很嚴重的錯誤。

通常的操作方式是使用with語句呼叫的方式,這樣即便檔案出錯,也會自動呼叫close()方法關閉檔案。

它的實現過程是

定義乙個類file ,只要存在__enter__()和exit()就可以實現乙個上下文管理器。

當我們開啟檔案時調__enter__()函式開啟檔案,而一旦出錯時會呼叫__exit__()就會關閉檔案。

同理我們寫手寫乙個上下文管理器執行如圖:

而實現上下文管理器的另一種方式是:

使用@contentmnager裝飾器:

原理是呼叫執行開啟檔案操作,當出錯時執行yield後面的語句實現關閉操作。

python 上下文管理器

上下文管理器允許你在有需要的時候,精確地分配和釋放資源。使用上下文管理器最廣泛的案例就是with語句了。想象下你有兩個需要結對執行的相關操作,然後還要在它們中間放置一段 上下文管理器就是專門讓你做這種事情的。舉個例子 with open some file w as opened file open...

python上下文管理器

上下文管理器是乙個包裝任意 塊的物件。上下文管理器保證進入上下文管理器時,每次 執行的一致性 當退出上下文管理器時,相關資源會被正確 這裡被正確 指的是在 exit 方法自定義 比如關閉資料庫游標 值得注意的是,上下文管理器一定能夠保證退出步驟的執行。如果進入上下文管理器,根據定義,一定會有退出步驟...

Python 上下文管理器

python中的上下文管理器是乙個包裝任意 塊的物件。它在處理資源的開啟關閉 異常的處理等方面有很好的實現方法。1.上下文管理器的語法 假設我們需要讀取乙個檔案中的資料,如下 try test file open test.txt r contents test file.read finally ...