python之上下文管理器

需要掌握:python之操作文件异常处理with语句

概述

上下文管理器 对象可以使用 with 语句,with语句简化try...finally...语句

功能

使用with语句,简化资源操作的后续 清除 操作(如关闭文件对象、关闭数据库连接、关闭socket等),是 try...finally... 的替代

如下面代码:

try:
    f=open('c:/users/mym/desktop/1.txt','r')
finally:
    if f!=None:
        f.close()

用with语句实现如下:

with open('c:/users/mym/desktop/1.txt','r') as f:
    pass

with语句执行后会自动调用close()方法

强调

实现了 上下文管理器 后,都可以使用 with语句

上下文管理器的实现

有以下两种实现方式:

  1. 类中实现内置方法__enter__和__exit__
  2. 通过contextlib模块实现,简化内置方法__enter__和__exit__

关系图

通过__enter__和 __exit__实现

见链接:http://www.malaoshi.top/show_1EF2OnMfHCsG.html


原文出处:/show_1EF2LA0CbD0u.html