Python高階(上下文管理器與with語句)

2022-09-01 19:24:09 字數 712 閱讀 1997

/*上下文管理器必須有__enter__和__exit__方法*/

class

myresource:

def__enter__

(self):

print('

鏈結資源')

return

self

/*__exit__返回true表示異常只會在__exit__中**獲,不會繼續傳遞到with語句的之外的except中,如果返回false,則會把異常也傳遞到except中*/

def__exit__

(self,exc_type,exc_value,tb):

iftb:

print('

鏈結程序異常')

else

:

print('

鏈結程序無異常')

print('

關閉資源鏈結')

return

false

defquery(self):

print('

query data')

try:

/*resource是上下文管理器__enter__返回的那個值*/with myresource() as resource:

1/0resource.query()

except

exception as ex:

pass

Python高階 上下文管理器

上下文管理器 上下文管理器是乙個python物件,為操作提供了額外的上下文資訊。這種額外的資訊,在使用with語句初始化上下文,以及完成with塊中 的所有 時,採用可呼叫的形式。object.enter self 輸入與此物件相關的執行時上下文,如果存在的話,with語句將繫結該方法的返回值到該語...

Python高階 with上下文管理器

任何實現了enter 和exit 方法的物件都可稱之為上下文管理器,上下文管理器物件可以使用 with 關鍵字。如果乙個乙個檔案使用普通方式開啟 def m1 f open output.txt w f.write python之禪 f.close 如果程式執行中碰到錯誤,會退出程式,可能沒有執行f...

python 上下文管理器

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