Python中的上下文管理器

2021-09-27 02:29:40 字數 920 閱讀 6637

# 實現了上下文協議的物件使用with

# 上下文表示式(with後面的語句)必須要返回乙個上下文管理器

# 實現了__enter__和__exit__方法的物件就是實現了上下文協議, 這個物件也就是上下文管理器

class

myclass

:def

__enter__

(self)

:# with語句as後面的返回值

print

('連線資料庫'

)print

(self)

return self

# 返回值就是with語句中as後面的值

def__exit__

(self, exc_type, exc_val, exc_tb)

:# **資源, 處理異常

if exc_tb:

print

('有異常'

)else

:print

('沒有異常'

)print

('關閉資料庫連線, **資源'

)return

true

# 如果返回true就不會再丟擲異常, 不會把異常顯示在控制台

# return false

# 如果返回false會丟擲異常, 會把異常資訊顯示在控制台

# 什麼都不返回等於none, 結果相當於返回false

defdo_something

(self)

:print

('執行sql語句, 運算元據庫'

)with myclass(

)as myclass:

# 1 / 0

print

(myclass)

myclass.do_something(

)

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 ...