[Errno 2] No such file or directory: '我为什么是一个文件,为什么返回值是这样的呢

awaken_ 发布于 2017/02/14 18:36
阅读 246
收藏 0

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

 

加载中
0
Lin_R
Lin_R

except OSError as reason => 捕获OSError异常, 并且赋值给reason, 所以你在print('文件出错了\n错误的原因是:'+str(reason)) 就将是触发异常的原因拼接成一句完整的错误

Lin_R
Lin_R
回复 @awaken_ : try...except 就是为了捕获异常, 因为你的代码已经产生OSError异常, 所以被捕获了, 执行except的语句
a
awaken_
就是说执行try 没执行成功的话就执行except
0
moliunian
moliunian

路径问题?

返回顶部
顶部