首页 > 代码库 > with ...as ...

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 ...