Python分享-with做了什么事?

with在python中通常被用来做资源管理,和异常处理的。

比如我们打开文件,经常能看到用的是with吧,with open这样的用法。这是显示的作用,异常处理就是隐式的。用with能确保,如果IO流出现问题不会阻塞其他进程。

如果不用with的话,该怎么处理文件io呢

file = open('file-path', 'w') 
try: 
    file.write('test') 
finally: 
    file.close() 

能看到一定要确保最后调用文件对象的close方法。

如果用with来做,发现可以省略显式调用close方法,with会去做。

with open('file-path', 'w') as file: 
    file.write('test') 

常用的需要close的场景,比如数据库的连接,一般需要close,还有例如smtp的连接。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,386评论 11 349
  • 在程序运行过程中,总会遇到各种各样的错误。 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,...
    jbb_43b0阅读 921评论 0 0
  • 2. NODE模块端实现 2.2 node模块的实现 引入模块: 路径分析 文件定位 编译执行 2.2.1 优先从...
    yozosann阅读 2,158评论 0 0
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 5,061评论 0 13
  • python学习笔记 声明:学习笔记主要是根据廖雪峰官方网站python学习学习的,另外根据自己平时的积累进行修正...
    renyangfar阅读 3,110评论 0 10