日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python的with語句怎么使用

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