- With是一个用于简化资源管理的关键字。它在Python中起到了上下文管理的作用。
- With语句可以保证在代码块结束后自动关闭文件、释放锁或者清理资源。这样可以避免手动管理资源的麻烦。
- 使用With语句,我们可以确保在离开代码块时资源能够正确地被关闭和清理。
- With语句的基本语法是:with expression [as variable]: statement。
- Expression是一个可上下文管理的对象。在进入代码块之前,会调用expression的__enter__方法。
- Expression的__enter__方法可以返回一个值,这个值会被赋给as variable(可选的)。
- 在退出代码块之后,会调用expression的__exit__方法以进行资源清理。
- 如果在代码块中发生异常,__exit__方法会处理异常,我们可以在__exit__方法中对异常进行处理或者忽略。