這篇文章給大家分享的是有關(guān)python關(guān)鍵字with的使用方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、微信小程序、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷領(lǐng)域創(chuàng)造價(jià)值而不懈努力!
首先with的作用:
使用with后不管with中的代碼出現(xiàn)什么錯(cuò)誤,都會(huì)進(jìn)行對(duì)當(dāng)前對(duì)象進(jìn)行清理工作。
例如file的file.close()方法,無論with中出現(xiàn)任何錯(cuò)誤,都會(huì)執(zhí)行file.close()方法
我們知道使用try-except-finally語句可以處理異常,接下來我們介紹使用with語句處理與異常相關(guān)的工作
with語句支持創(chuàng)建資源,拋出異常,釋放資源等操作,并且代碼簡潔。
with語句格式
with 上下文表達(dá)式 [as 資源對(duì)象]: 對(duì)象操作 說明:
上下文表達(dá)式,返回一個(gè)上下文管理對(duì)象
如果指定了as語句,該對(duì)象并不賦值給as子句中的資源對(duì)象,而是將上下文管理器的__enter__()方法的返回值賦值給了資源對(duì)象。
資源對(duì)象可以是單變量,也可以是元組。
python學(xué)習(xí)網(wǎng),免費(fèi)的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!
使用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í)代碼簡潔很多.
感謝各位的閱讀!關(guān)于python關(guān)鍵字with的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)站欄目:python關(guān)鍵字with的使用方法
文章分享:http://www.rwnh.cn/article0/gdopio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、服務(wù)器托管、網(wǎng)站排名、微信小程序、Google、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)