我们在代码深处发现了一个 时光胶囊 (Time Capsule)。
用老方法打开它(先 open() 再 close())是有风险的。以此如果我们忘了把它重新锁好(close()),时间魔法就会泄漏出去!
我们需要一个咒语,在我们用完之后自动封印胶囊。
"With" 咒语
Python 有一个特殊的关键字叫 with。它就像一个临时的魔法护盾。
- 它打开文件。
- 让你完成工作。
- 无论发生什么,它都会自动关闭文件!
# "With" 上下文管理器
with open("capsule.txt", "r") as file:
content = file.read()
print(content)
# 看妈,没写 close()!
# 文件在这里已经被自动关闭了。
1
旧代码
看看 main.py。它使用的是旧的、不安全的方法。
2
重构
使用 with 语句重写代码。
3
缩进
记住:with 块里面的代码必须 缩进 (向右移动)。
这被称为 上下文管理器 (Context Manager)。它为你管理“上下文”(打开和关闭)。这是专业 Python 架构师的工作方式。
参考答案点击展开点击收起
点击展开点击收起
参考答案:
with open("capsule.txt", "r") as file:
content = file.read()
print("Capsule says: " + content)高级技巧想更进一步?点击展开点击收起
F. 为什么要用 "with"?
- 安全:即使你的代码在块内部崩溃报错,Python 也保证文件会被关闭。
- 整洁:代码更少,容易遗忘的事情也更少。
- "上下文":就像租车一样。
with负责处理租赁合同和还车手续;你只需要开车。
Loading...
终端输出
Terminal
Ready to run...