有一些任務,可能事先需要設定,事後做清理工作。對於這種場景,python的with語句提供了一種非常方便的處理方式。乙個很好的例子是檔案處理,你需要獲取乙個檔案控制代碼,從檔案中讀取資料,然後關閉檔案控制代碼。
如果不用with語句,**如下:
這裡有兩個問題:file = open("/tmp/foo.txt")
data = file.read()
file.close()
一是可能忘記關閉檔案控制代碼;
二是檔案讀取資料發生異常,沒有進行任何處理。
下面是處理異常的加強版本:
雖然這段**執行良好,但是太冗長了。try:
f = open('***')
except:
print 'fail to open'
exit(-1)
try:
do something
except:
do something
finally:
f.close()
這時候就是with一展身手的時候了。除了有更優雅的語法,with還可以很好的處理上下文環境產生的異常。
下面是with版本的**:
with
open("/tmp/foo.txt") as
file:
data = file.read()
c 語法之switch語句
switch語句在c或c 語言中是非常普通的乙個語句了,而且我們也是經常用到的。而且我們使用的switch語句都是和case default break等語句一起使用的。switch語句的使用可以非常的簡單,也可以非常的複雜,所以你可以看到下面的一些另類的使用。首先問一下的是 你知道switch文法...
Java語法基礎之語句
程式流程控制語句 分四類 a 判斷結構 if b 選擇結構 switch c 迴圈結構 do while while for d 其他流程控制語句 break continue 一 判斷結構 if 1 if語句三種格式 1,if 條件表示式 3,if 條件表示式 執行語句 執行語句 2,if 條件表...
SQL語法 之 操作語句
insert top percent into output 在sql server2008 中新增了新功能,允許一次插入多行,中間用逗號 分隔,如 insert into country values 美國 英國 2 insert into select語句 當我們需要用某些資料來源作為插入資料,...