Python 学习手册

免费学习 完整知识体系 快速检索 Python 3.12+

Python 学习手册《上下文管理器 (with)》:使用 with 管理资源,自动清理。 # 实现上下文管理器需要 __enter__ 和 __exit__ class ManagedFile: def __init__(self, filename, mode): ...

上下文管理器

上下文管理器 (with)

【详细说明 & 代码示例】
使用 with 管理资源,自动清理。
# 实现上下文管理器需要 __enter__ 和 __exit__
class ManagedFile:
    def __init__(self, filename, mode):
        self.filename = filename
        self.mode = mode
    def __enter__(self):
        self.file = open(self.filename, self.mode)
        return self.file
    def __exit__(self, exc_type, exc_val, exc_tb):
        self.file.close()

with ManagedFile("hello.txt", "w") as f:
    f.write("Hello, World!")

# 使用 contextlib 简化
from contextlib import contextmanager
@contextmanager
def open_file(filename, mode):
    f = open(filename, mode)
    try:
        yield f
    finally:
        f.close()

学习提示:建议将示例代码复制到 Python 交互环境或 IDE(如 PyCharm、VS Code)中运行,观察输出结果,加深理解。

全部章节目录(共 62 个知识点)

异常处理 (1个知识点)

文件与 I/O (1个知识点)

装饰器 (1个知识点)

生成器与迭代器 (2个知识点)

上下文管理器 (1个知识点)

使用说明

  • • 本手册涵盖 Python 从入门到进阶的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议在 Python 交互环境或 IDE 中运行示例代码,观察结果加深理解