python上下文管理器


  所谓上下文管理器就是实现了上下文管理协议的类(实现__enter__和__exit__方法)或函数(使用contextmanager装饰器)。

  上下文管理器应用于某些特殊情景之中,典型的应用场景是打开某种资源对资源进行处理,最后再关闭资源。可以看到,上下文管理器的作用于常见的try/finally 语句作用类似,都是确保打开的资源无论在任何情况下都能被及时关闭

,但是应该优先使用上下文管理器,因为,上下文管理器可以使用更少的代码完成同样的工作。

1 with语句

with expression [as variable]:
  with-block

with open('data.txt') as f:
  print(f.read)