新聞中心
WITH語句處理異常

創(chuàng)新互聯(lián)建站致力于成都網(wǎng)站建設(shè)、網(wǎng)站制作,成都網(wǎng)站設(shè)計(jì),集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場(chǎng)競(jìng)爭(zhēng)中脫穎而出。 選擇創(chuàng)新互聯(lián)建站,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!
我們知道使用try-except-finally語句可以處理異常,接下來我們介紹使用with語句處理與異常相關(guān)的工作
with語句支持創(chuàng)建資源,拋出異常,釋放資源等操作,并且代碼簡(jiǎn)潔。
with語句格式
with 上下文表達(dá)式 [as 資源對(duì)象]: 對(duì)象操作 說明:
上下文表達(dá)式,返回一個(gè)上下文管理對(duì)象
如果指定了as語句,該對(duì)象并不賦值給as子句中的資源對(duì)象,而是將上下文管理器的__enter__()方法的返回值賦值給了資源對(duì)象。
資源對(duì)象可以是單變量,也可以是元組。
使用with語句操作文件對(duì)象
with open("/test.txt") as file:
for aline in file:
print(aline)解釋說明: 這段代碼使用with語句打開文件,如果順路打開,則將文件對(duì)象賦值給file,然后用for語句遍歷打印文件的每一行。當(dāng)文件操作結(jié)束后,with語句關(guān)閉文件。如果這段代碼運(yùn)行過程中發(fā)生異常,with也會(huì)將文件關(guān)閉。
這段代碼使用finally語句實(shí)現(xiàn)如下:
try:
file = open("/test.txt")
try:
for aline in file:
print(aline)
except Exception as error:
print(error)
finally:
file.close()
except FileNotFoundError as err:
print(err)我們也可以給with語句加上異常處理:
try:
with open("/test.txt") as file:
for aline in file:
print(aline)
except Exception as error:
print(error)通過對(duì)比可以發(fā)現(xiàn):with語句在進(jìn)行異常處理時(shí)代碼簡(jiǎn)潔很多
特別說明:
不是所有的對(duì)象都可以使用with語句,只有支持上=上下文管理協(xié)議的對(duì)象才可以。目前支持上下文管理協(xié)議的對(duì)象如下:
file decimal.Context thread.LockType threading.BoundedSemaphore threading.Condition threading.Lock threading.RLock threading.Semaphore
網(wǎng)頁名稱:創(chuàng)新互聯(lián)Python教程:python的with語句怎么使用
文章來源:http://m.5511xx.com/article/ccdgego.html


咨詢
建站咨詢
