with语句,对于实现需要设置,事后做清理工作,with语句就能很好的处理:

在不用with语句:

1
2
3
4
5
file = open("/temp")
try:
	data = file.read()
finally:
    file.close()

使用with语句:

1
2
with open("/tmp/fs") as file:
    data = file.read()

with如何工作:

​ with所打开的对象必须有一个enter()方法个exit()方法。所用共有两个阶段

​ 1、紧跟这with的语句被求值后,对象的enter()方法被调用,

​ 2、with中的代码被执行结束后,调用兑现的exit()方法

这两个方法中也可以放自定义的清理资源,关闭文件等操作。

参考Python中的with as 用法