稳妥地关闭文件
上一页里,关闭文件的 close 要你自己写。如果程序在那一行之前会停住,文件就可能一直开着。有了 with,缩进的几行一结束,文件就关上了。就算其中某一行会停住,文件照样会关上。
with open("plate.txt", "w", encoding="utf-8") as plate:
plate.write("bread\n")
print("saved")
运行后屏幕上只显示 saved。bread 不在屏幕上,而是在 plate.txt 里,因为 write 运行的时候文件还开着。接着缩进结束,文件关闭,然后才轮到 print。这个程序里没有 close,也不要在 print 后面或缩进里面补上。plate 这个名字只在缩进结束之前代表打开的文件。encoding="utf-8" 让字母以文本形式保存,w 则依旧会清掉文件里原有的旧词。
write 那一行缩进在 with 下面,正是这层缩进让它处在里面。print("saved") 没有缩进,所以在外面,只有里面的部分顺利做完,它才会运行。
如果在同一层缩进下写 1 / 0,程序会停住,saved 也不会出现。文件仍然会关闭:程序因这次停住而结束之前,离开缩进就已经把文件关上了。这一行不在本页的程序里。
下一页讲文件的路径。本页只管把文件关好。
缩进一结束,文件就关闭
小结:屏幕上是 saved,plate.txt 里是 bread,整个程序里没有 close。缩进里有一行会停住时,文件照样关闭,saved 也不会出现。接下来是文件的路径。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部