打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python中with语句是干什么用的?

with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。

其他的内容看下面的代码:

一般访问文件资源时我们会这样处理:

这样写没有错,但是容易犯两个毛病:

  1. 如果在读写时出现异常而忘了异常处理。
  2. 忘了关闭文件句柄。

以下的加强版本的写法:

以上的写法就可以避免因读取文件时异常的发生而没有关闭问题的处理了。代码长了一些。

但使用 with 有更优雅的写法:

with 的实现

当对象被实例化时,就会主动调用__enter__()方法,任务执行完成后就会调用__exit__()方法, 另外,注意到,__exit__()方法是带有三个参数的(exc_type, exc_value, traceback), 依据上面的官方说明:如果上下文运行时没有异常发生,那么三个参数都将置为 None, 这里三个参数由于没有发生异常,的确是置为了 None, 与预期一致。

修改后不出异常了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ruby操作常用数据库
动态生成与编译(三)----写一个面向过程的程序
十分钟带你走进Python的类与对象世界
存储过程中如何用表名作为输入参数?动态SQL语句的一些常见写法
makefile的备忘
VBS脚本宝典教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服