python关键字“with”是做什么用的?
示例来自:http ://docs.python.org/tutorial/inputoutput.html
>>> with open('/tmp/workfile', 'r') as f: ... read_data = f.read() >>> f.closed True
在 python 中,该with关键字用于处理非托管资源(如文件流)。它类似于usingVB.NET 和 C# 中的语句。它允许您确保在使用资源的代码完成运行时“清理”资源,即使抛出异常也是如此。try/finally它为块提供“语法糖” 。
with
using
try/finally
来自Python 文档:
该with语句阐明了以前将使用try...finally块来确保执行清理代码的代码。在本节中,我将讨论常用的语句。在下一节中,我将检查实现细节并展示如何编写用于该语句的对象。 该with语句是一个控制流结构,其基本结构是: with expression [as variable]: with-block 表达式被评估,它应该产生一个支持上下文管理协议的对象(即 has__enter__()和__exit__()方法)。
该with语句阐明了以前将使用try...finally块来确保执行清理代码的代码。在本节中,我将讨论常用的语句。在下一节中,我将检查实现细节并展示如何编写用于该语句的对象。
try...finally
该with语句是一个控制流结构,其基本结构是:
with expression [as variable]: with-block
表达式被评估,它应该产生一个支持上下文管理协议的对象(即 has__enter__()和__exit__()方法)。
__enter__()
__exit__()
__根据 Scott Wisniewski 的评论 更新固定的 VB 标注。 我确实with对using.