正在加载...

文件

note.txt 是这台机器上的一个名字。程序结束后,里面的字还在。这个程序靠 open 才碰到这个名字。第一个程序往文件里放一行短文字,第二个把同一行读出来。这一页的 close 由你自己写。就算有一行在 close 之前停住,文件也照样关上,那是下一页的事。

屏幕是空的,tea 写进文件

python
note = open("note.txt", "w", encoding="utf-8")
note.write("tea\n")
note.close()

屏幕上什么也没有,因为这个程序不打印。write 把 tea 这几个字母放进 note.txt,\n 用来结束这一行。机器上还没有这个名字时,w 会把文件建出来。里面如果已经有别的字,w 会把它们清掉。这次写完以后,文件里只剩 tea 和换行。存完要等 close。close 之前,别把这一行当成已经存好。encoding="utf-8" 的意思是这些字母按文本来存。

📊 两种打开方式

方式 这个 open 做什么
w note.txt 不在就建出来,并清掉原来里面的内容
r 读取 note.txt;文件不在,程序会以 FileNotFoundError 停住

tea 从文件里回来

python
note = open("note.txt", "r", encoding="utf-8")
text = note.read()
note.close()
print(text)

这个程序重新开始,自己不写。tea 必须已经在 note.txt 里,就是第一个程序留下的那样。read() 把所有字当成一整段文字交回来,换行也在这段文字里面。print 先显示 tea,接着一个空行。这段文字本来就以换行结束,print 又加了一个。close 再运行一次,读取就结束了。这里同样有 encoding="utf-8",字才会按文本回来。

note.txt 不在这台机器上,你却用 r 去打开,程序会停住。这次停住的名字是 FileNotFoundError。这几行不在本页的程序里。w 不会停住,而会把文件建出来。Python 不会编一段空文字然后继续往下走。

这一页的 close 是你做完之后自己写的一行。下一页用 with,这样即使有一行在 close 之前停住,文件也会关上。这些程序里没有 with。

文件里留下了什么

第一屏是空的,close 之后文件里有 tea。w 会清掉旧的字。第二屏先显示 tea,接着一个空行。用 r 打开一个不在的文件,程序会停住。下一页即使有一行停住,也会把文件关上。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
6
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部