Python的with as的用法

2021-09-01 16:12:18 字數 454 閱讀 9080

這個語法是用來代替傳統的try...finally語法的。 

with expression [ as variable] with-block 

基本思想是with所求值的物件必須有乙個__enter__()方法,乙個__exit__()方法。

file = open("/tmp/foo.txt")

try:

data = file.read()

finally:

file.close()

雖然這段**執行良好,但是太冗長了。這時候就是with一展身手的時候了。除了有更優雅的語法,with還可以很好的處理上下文環境產生的異常。下面是with版本的**:
with open("/tmp/foo.txt") as file:

data = file.read()

python的with as 的實質

with as語句等價於try finally語句 with expression as variable with block 等價於try 執行 enter 的內容 執行 with block.finally 執行 exit 內容 try捕獲異常,except處理異常,finally必定執行wi...

python 中 with as的用法

with從python 2.5就有,需要from future import with statement。自python 2.6開始,成為預設關鍵字。在what s new in python2.6 3.0中,明確提到 the with statement is a control flow st...

Python中with as的用法

這個語法是用來代替傳統的try.finally語法的。with expression as variable with block 基本思想是with所求值的物件必須有乙個 enter 方法,乙個 exit 方法。緊跟with後面的語句被求值後,返回物件的 enter 方法被呼叫,這個方法的返回值將...