with ...as ...

Posted 清源居士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了with ...as ...相关的知识,希望对你有一定的参考价值。

有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。

with-as表达式极大的简化了每次写finally的工作.

 

在对文件操作时候用的最多,  可以写成以下非常简洁的方式.  重要的是, 你不需要去考虑什么时候fclose的问题. 

with open("/tmp/foo.txt") as file:
    data = file.read()

需要注意的是,  代码优雅的背后一定是已经做了些什么.  现在文件句柄这个类里面, 已经完成了类似enter和finally的工作. 

 

参考:

http://blog.kissdata.com/2014/05/23/python-with.html

以上是关于with ...as ...的主要内容,如果未能解决你的问题,请参考以下文章

json 可视代码工作室Angular with Firebase片段

python with as的用法

with as 如何工作

python with as

with as递归调用

多处理返回“打开的文件太多”,但使用 `with...as` 修复它。为啥?