上下文管理器

  • 上下文管理器可以帮助我们自动分配和释放资源
  • 上下文管理器需要配合with语句使用

比如进行文件操作的时候我们可能会忘记操作后关闭文件(file close),使用with open(filename, mode) as f不需要我们手动关闭文件,不管处理文件中是否有异常出现,都能保证with语句执行完毕后关闭文件,有效防止资源泄露,安全多了。

1
2
3
# with 语句的一般格式
with context_expression [as target(s)]:
with-body

在执行with-body会调用上下文管理器的enter方法,执行完with-body之后再调用上下文管理器的exit方法