三、声音传奇
第10课 文件写入

一、任务目标
理解写进文件,能按一次键完成灯亮到灯灭,重新打开文件看到刚才的数字序列,并能口述为何必须 close。
二、我们要学什么
- 学习要点:打开 → 写入 → 关闭必须套在同一按键分支里;读回是完整代码的 2号按键
- 本课过关:能完成:按 1号按键 能写完并关灯;完整代码按 2号按键 能读到刚才写入的内容。
- 示例对齐:体验题对应 「3-2-1 文件写入」;完整代码对应 「3-2-2 文件读取」。
三、本节要点
本节先把「写进文件」做对。for 和 close 必须在 1号按键 打开文件之后,不能写到 if 外面。
四、解题思路
- 输入:1号按键 开始写;完整代码 2号按键 读回。
- 输出:文件 /test.txt;LED 写时亮、写完灭;读回时打印。
- 生活对照:记事本保存后再打开还在。
- 验证现象:不按 1号按键 不会写;按一次完整写完再关文件。
本课主要用到:文件、板载按键、LED;完整代码用串口打印读回内容。
- 1明确任务「文件写入」:先会写,再会读。
- 21号按键 分支内:开灯、open、for 写行、close、关灯。
- 3换行用 chr(10);写完一定 close,否则下次打开可能残缺。
- 4载入后先写;完整代码再按 2号按键 核对打印。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 文件 | 打开板卡上的文件。 | 1号按键 按下后 open('/test.txt', 'w')。 |
![]() | 文件 | 向文件写入内容。 | for i in range(0, 1000) 写入数字和换行。 |
![]() | 文本 | 把编码转为字符。 | 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。载入后运行。
正在载入编程环境
正在载入 MixGo MINI 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:open 在 if 1号按键 里面,for 写文件可以写在 if 外面。
判断:写完必须 close,否则内容可能没落盘、下次打开也不干净。
体验题按 1号按键 后写入的是?
完整代码确认「还在文件里」应看?
九、本节小结
本课主题是文件写入:打开、写入、关闭必须套在同一按键分支里。体验程序按1号按键能写完并关灯;完整程序按2号按键能读到刚才写入的内容。





