python - [Errno 2] No such file or directory: '我为什么是一个文件,为什么返回值是这样的呢?
大家讲道理
大家讲道理 2017-04-18 10:19:03
0
3
764

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('文件出错了')
文件出错了

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(3)
迷茫

OSError是python內建異常,python變數是區分大小寫的
參見https://docs.python.org/2/lib...

另外文件不存在的話,你啥都不寫的話,只寫except也是會報錯的

黄舟

except OSError as reason => 捕獲OSError異常, 並且賦值給reason, 所以你在print('文件出錯了n錯誤的原因是:'+str(reason)) 就將是觸發異常的原因拼接成一句完整的錯誤是說執行try 沒執行成功的話就執行except

巴扎黑

這樣修改,
這個是IOError

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!