带有一个“项目”的 语句的执行过程如下:
对上下文表达式 (在
with_item
中给出的表达式) 求值以获得一个上下文管理器。载入上下文管理器的 以便后续使用。
注解
with
语句会保证如果 方法返回时未发生错误,则 exit()
将总是被调用。 因此,如果在对目标列表赋值期间发生错误,则会将其视为在语句体内部发生的错误。 参见下面的第 6 步。
执行语句体。
如果语句体由于异常以外的任何原因退出,则来自 的返回值会被忽略,并会在该类退出正常的发生位置继续执行。
如果有多个项目,则会视作存在多个 with
语句嵌套来处理多个上下文管理器:
等价于
在 3.1 版更改: 支持多个上下文表达式。
- - "with" 语句
- Python
with
语句的规范描述、背景和示例。