with 语句#
with
语句通过在所谓的上下文管理器中封装try...finally
语句的标准用法来简化异常处理。with
语句一般用来管理系统资源的安全获取和释放。__enter__()
和__exit__()
这两个方法分别用于获取和释放资源,with
语句对它们进行了封装。有效地使用
with
有助于避免资源泄漏的问题,让代码更加易于阅读。
# 正常使用一个文件
f = open('../_tmp/py_open.txt', 'w')
try:
f.write('hello world from `try...finally`')
finally:
f.close()
# 使用 with 后
with open('../_tmp/py_with_open.txt', 'w') as f:
f.write('hello world from `with`')