這個語法是用來代替傳統的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 方法被呼叫,這個方法的返回值將...