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盤沒有任何關係。
為什麼為什麼為什麼為什麼刪不掉,為什麼我的資料夾會刪不掉,裡面的東西卻可以刪除?所有
windows xp me中都有 系統還原 功能,因此會在硬碟上自動建立 restore資料夾。如果你想刪除 restore資料夾,可以啟動到dos模式刪除,但這樣做並不能真正刪除,重新啟動後系統卻仍會自動建立這個資料夾。要真正刪除 restore目錄,你可以先開啟 系統屬性 視窗,禁用系統還原功能...
為什麼啊,為什麼啊,為什麼為什麼啊?
其次要明白交社保的錢分為個人部分和單位部分,即使個人自費交的社保,也分為這兩個部分,值得注意的是,退的社保都是個人繳費部分,並且會根據個人繳費部分的金額支付相應的利息,一般來說退社保並不划算,尤其是個人全額交保費的,更不划算。社保斷繳後以前所繳的錢不會白交,但是斷繳後,影響最大的是養老保險和醫療保險...
為什麼?為什麼?為什麼?為什麼在愛情世界裡,無論如何,女生都是受傷的一方
其實不可能只有女生受傷,因為兩個人在一起都是雙方付出的,最後一定是雙方都受傷,一般女生會將自己的感情宣洩出來,但是男生只會默默的躲在沒人的角落裡流淚。這個不是的,感情是兩個人的事情,受傷也不是一個人的事情。這是女人的天性。因為自己是敏感的,弱小的 就認為自己是受傷害的一方 還有一種就是說自己是受害者...