开发者社区> 问答> 正文

[Errno 2] No such file or directory: '我为?400报错

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

 

展开
收起
爱吃鱼的程序员 2020-06-08 17:02:56 668 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

    路径问题?

    2020-06-08 17:03:15
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载