/*上下文管理器必須有__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...