三、声音传奇

第10课 文件写入

任务场景:文件写入
任务场景:文件写入

一、任务目标

理解写进文件,能按一次键完成灯亮到灯灭,重新打开文件看到刚才的数字序列,并能口述为何必须 close。

二、我们要学什么

  • 学习要点:打开 → 写入 → 关闭必须套在同一按键分支里;读回是完整代码的 2号按键
  • 本课过关:能完成:按 1号按键 能写完并关灯;完整代码按 2号按键 能读到刚才写入的内容。
  • 示例对齐:体验题对应 「3-2-1 文件写入」;完整代码对应 「3-2-2 文件读取」。

三、本节要点

本节先把「写进文件」做对。for 和 close 必须在 1号按键 打开文件之后,不能写到 if 外面。

1读场景明确真实任务
2对要点1号按键 打开、写入、关闭
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:1号按键 开始写;完整代码 2号按键 读回。
  • 输出:文件 /test.txt;LED 写时亮、写完灭;读回时打印。
  • 生活对照:记事本保存后再打开还在。
  • 验证现象:不按 1号按键 不会写;按一次完整写完再关文件。

本课主要用到:文件、板载按键、LED;完整代码用串口打印读回内容。

  1. 1明确任务「文件写入」:先会写,再会读。
  2. 21号按键 分支内:开灯、open、for 写行、close、关灯。
  3. 3换行用 chr(10);写完一定 close,否则下次打开可能残缺。
  4. 4载入后先写;完整代码再按 2号按键 核对打印。

流程示意(可对照左侧文字)

任务:文件写入1号按键 分支内:开灯、open、for 写行、close、关灯换行用 chr(10)运行后对照现象

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
打开文件
文件打开板卡上的文件。1号按键 按下后 open('/test.txt', 'w')。
写文件
文件向文件写入内容。for i in range(0, 1000) 写入数字和换行。
ASCII 转字符
文本把编码转为字符。chr(10) 当作换行写入。
关闭文件
文件关闭已打开文件。写完 for 之后立刻 close。
读文件内容
文件读取文件全部文本。完整代码 2号按键 读回。
同行打印
串口打印且不换行。完整代码把读到的内容打到输出区。

六、知识点讲解

本课第一次把数据写进文件:数字离开变量、落到 /test.txt 里,关掉再打开仍在——这是后面录音能「留下再重放」的底盘。打开 → 写入 → 关闭:三步缺一不可。open(路径, 'w') 的 'w' 是写入(会覆盖旧内容);write 真正把文字放进去;close 才保证内容落到存储上。只写不关,文件可能残缺或占着打不开。换行也是一个字符:连续 write(str(i)) 会把 0、1、2 粘成 012。用 ASCII 转出的换行(chr(10))才能一行一个数,读回来才好拆。完整示例会再把文件读出、打印,证明「写进去的就是读出来的」。按键启动一次写入:1号按键 按下才 open 并循环写 0~999,灯亮表示正在写、写完灯灭。不要把 open 放在 while 里每圈都新建文件,否则永远只留下最后一次。

对照与过关:路径 /test.txt 在板卡文件系统上;仿真里同样用文件积木,写完应能用「读文件内容」核验。「写」和「读」是对称的:本课先把写入做对,下一课才把采集到的声音样本按同样流程存盘。按一次键灯亮→灭,重新打开文件能看到刚才的数字序列,并能口述为何必须 close。先记住「打开、写入、换行、关闭」四步,再进编程练习对照灯与文件内容。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期2。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:3-2-1 文件写入.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:open 在 if 1号按键 里面,for 写文件可以写在 if 外面。

  2. 判断:写完必须 close,否则内容可能没落盘、下次打开也不干净。

  3. 体验题按 1号按键 后写入的是?

  4. 完整代码确认「还在文件里」应看?

九、本节小结

本课主题是文件写入:打开、写入、关闭必须套在同一按键分支里。体验程序按1号按键能写完并关灯;完整程序按2号按键能读到刚才写入的内容。