上下文管理器是 Python 中管理资源的优雅方式,通过 with 语句实现资源的自动获取与释放。它确保代码即使在异常情况下也能正确关闭资源,是编写可靠程序的关键技巧。

核心概念 🔧

  • 资源管理:如文件、网络连接、数据库会话等
  • with 语句:简化资源处理流程
  • 上下文协议:需实现 __enter__()__exit__() 方法

语法示例 💡

with open('file.txt', 'r') as f:
    content = f.read()

上述代码会自动关闭文件,即使读取过程中发生异常

自定义上下文管理器 🛠️

使用 contextmanager 装饰器快速实现:

from contextlib import contextmanager

@contextmanager
def my_context():
    print("进入上下文")
    try:
        yield
    finally:
        print("退出上下文")

优势 ✅

  • 代码简洁:避免显式调用 close() 方法
  • 异常安全:自动处理资源释放
  • 可读性高:清晰界定资源使用范围

扩展学习 📚

想深入了解文件操作?可参考Python 文件处理教程获取更多实践案例。