Python with as為什麼無法捕獲異常

時間 2021-06-28 17:18:11

1樓:宿舍總動員

with在開啟檔案的這個操作中的作用是保證每次正常開啟檔案後,不論遇到什麼,最後都會執行檔案的關閉操作,避免指令碼中遺漏。但是他自身並沒有抓取異常的處理機制。

with open("asdasdas") as a:

print("開啟成功")

do_something()

這段**的含義,相當於開啟了檔案“asdasdas”後列印了“開啟成功”的字樣後,又處理了do_something()這段邏輯。不論do_something()這段邏輯正常執行結束,還是丟擲異常,都會保證最終“asdasdas”這個檔案都會被關閉。避免因為檔案未被關閉而導致的種種問題。

你的**可以改為以下部分,這樣就可以catch到讀取檔案中的異常了。

try:

with open("asdasdas") as a:

print("開啟成功")

except:

print("開啟失敗")

2樓:gta小雞

with open() as f這樣寫的意義是自動實現上下文管理,不論with語句塊是正常結束還是異常退出之前都會關閉檔案f。with不保證捕獲其中發生的所有異常。

3樓:花花

我的python版本基於3.6

try:

a = open("saijda")

except exception as e:

print(e.args)

應該是這樣寫的,然後返回異常(2, 'no such file or directory'),因為我沒有這個檔案,單純的捕獲異常是這樣的,python2.x的版本應該是print e.message

4樓:匿名使用者

with as並不會捕獲處理異常的,還是需要自己try except來處理異常

python with.as能舉例講解以下with.有什麼用法嗎

5樓:受司大人

with open('abc.txt','r') as f:

balabalabala

等價copy於

try:

f = open('abc.txt','r')except:

pass

else:

balabalabala

finally:

f.close()

語法bai

是不du

是簡zhi潔多了

dao?

python 問題求解

6樓:周工做夢

方法a要通過一例項來呼叫,如:

class a:

def a(self):

print("i'm a")

obj = a()

obj.a()

7樓:狍八歲

主要問題和解決方法如下:

中文路徑的問題:在d盤下儲存一個名字為‘中文.txt‘的檔案。

執行如下測試**:# -*- coding: utf-8 -*-f=open('d:

\\中文.txt', 'r')print f.read(),執行後可以正確列印中文。

print列印中文的問題:在d盤下儲存一個名字為‘中文.txt‘的檔案。

執行如下測試**:# -*- coding: utf-8 -*-f=open('d:

\\中文.txt', 'r')print f.read()字串有很多的編碼,不同的系統和平臺有各自的編碼 ,為了實現系統或平臺之間的資訊互動可能需要編碼轉換。

這裡只需要先使用unicode編碼一下,這樣再讀取中文路徑就不會有問題了。

所有的中文顯示問題都可以歸結為編碼問題,遇到其他類似的問題,那隻能仔細看文件,靠你的經驗,靠你多做測試。而且根據python所報出來的錯誤一般也可以判斷出來。那麼當發現需要編碼轉換時,剩下的就是如何正確進行碼制轉換。

為了正確處理多語言文字,python在2.0版後引入了unicode字串。從那時起,python語言中的字串就分為兩種:

一種是2.0版之前就已經使用很久的傳統python字串,一種則是新的unicode字串。在python語言中,一般的解決辦法是使用unicode()內建函式對一個傳統python字串進行“解碼”,得到一個unicode字串,然後又通過unicode字串的encode()方法對這個unicode字串進行“編碼”,將其“編碼”成為傳統python字串。

python裡面 with open 的問題

8樓:gta小雞

f指一個檔案物件,就是open函式開啟的那個檔案返回的物件,它和f盤沒有任何關係。

為什麼會這樣,為什麼會這樣??為什麼為什麼?????

不知不覺你也吃醋吧。為什麼男人會這樣?女人一定要看 那是他不想讓你太放縱,不想太寵你,又不想看你不開心,好好想想把,當你心情不好的時候他要是在什麼也做不到那會是怎麼樣的,好好珍惜他,錯過了在也找不到了 是男性朋友還是女性朋友?如果是男性朋友的話,是因為你有老公了,他們要追求你的希望也就沒了.珊姐,因...

為什麼,為什麼,為什麼?!為什麼別的女孩子談戀愛,都是男朋友對自己好。我就偏偏被玩弄 是我長得難看

也要從自身找找原因。看你的性格了。女孩子有時候也不能太熱心,適當要保持一些高冷和拒絕。男生就是這樣,你對他太好了吧,他就越不珍惜你,有時候還要吊吊胃口。他送你的禮物,太貴重的一定要拒絕。約你的時候,不能說一高興就一下子玩到半夜。10 00必須到家。這樣,男生會覺得你不是那種很隨便的女孩。如果是那種比...

為什麼為什麼為什麼?為什麼明明是我提的分手現在卻是我很難受我不想分開

看你的名字你應該是個女孩吧 前幾天我剛失戀了.我是男孩 我在國外她在國內.我們交往到分手的那一天 有1年3個月了.5個月前我來到阿根廷.我相信過她說的 她會等我.可是還是分手了.原因是什麼 她不告訴我.我只是知道她有男朋友了 而且那男的比她大4歲.我好難過.好難過.她真的讓我很傷心.既然你很愛他.卻...