文章詳情頁
python - [Errno 2] No such file or directory: ’我為什么是一個文件,為什么返回值是這樣的呢?
瀏覽:43日期:2022-09-22 10:11:22
問題描述
try:????f=open(’我為什么是一個文件.txt’)????print(f.read())????f.close()except?OSError?as?reason:????print(’文件出錯了n錯誤的原因是:’+str(reason))文件出錯了錯誤的原因是:[Errno?2]?No?such?file?or?directory:?’我為什么是一個文件
如果不加as reason返回的就是
try:????f=open(’我為什么是一個文件.txt’)????print(f.read())????f.close()except?OSError:??????????????????????#ose要大寫?才能有正確報錯????print(’文件出錯了’)文件出錯了
問題解答
回答1:OSError是python內置異常,python變量是區分大小寫的參見https://docs.python.org/2/lib...
另外文件不存在的話,你啥都不寫的話,只寫except也是會報錯的
回答2:except OSError as reason => 捕獲OSError異常, 并且賦值給reason, 所以你在print(’文件出錯了n錯誤的原因是:’+str(reason)) 就將是觸發異常的原因拼接成一句完整的錯誤 就是說執行try 沒執行成功的話就執行except
回答3:這樣修改,這個是IOError
排行榜
