Python中with as的作用

2021-08-23 14:39:36 字數 796 閱讀 4604

with as 語句的作用主要如下:

1、解決異常退出時資源釋放的問題;

2、解決使用者忘記呼叫close方法而產生的資源洩漏問題;

也就是說,with as方法最適合容易偷懶或者馬虎的程式設計師了,從c/c++過來的程式設計師沒少體驗過資源洩漏以及記憶體問題,而with as語句就可以方便地幫助你從苦海中解脫。

有一些任務,可能事先需要設定,事後做清理工作。對於這種場景,python的with語句提供了一種非常方便的處理方式。乙個很好的例子是檔案處理,你需要獲取乙個檔案控制代碼,從檔案中讀取資料,然後關閉檔案控制代碼。

如果不用with語句,**如下:

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

data = file.read()

file.close()

這裡有兩個問題。一是可能忘記關閉檔案控制代碼;二是檔案讀取資料發生異常,沒有進行任何處理。下面是處理異常的加強版本:

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從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 方法被呼叫,這個方法的返回值將...

Python中的with as 語法

使用語言的好特性,而不是那些糟糕的特性 不知道誰說的 好久不學習python的語法了,上次去面試,和面試官聊到了python中的with as statement 也稱context manager 挺感興趣的,這兩天學習了一番,收穫頗豐在此分享。先說明乙個常見問題,檔案開啟 1 2 34 5 6 ...