三、触摸与文件

第10课 文件写入

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

一、任务目标

按 T2 打开 /test.txt 写入 0~999,写完关闭。完整代码再按 T3 读回并打印,确认文件里还在。

二、我们要学什么

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

三、本节要点

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

1读场景明确真实任务
2对要点T2 打开、写入、关闭
3载入运行本课积木/代码

四、解题思路

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

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

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

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

任务:文件写入搭出主循环,让程序一直运行…在循环里判断按键:刚按下用…把计算结果映射到可观察输出…载入官方示例后先点运行,对…

五、图形块功能讲解

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

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

六、知识点讲解

本课第一次把数据写进文件:数字离开变量、落到 /test.txt 里,关掉再打开仍在——这是后面录音能「留下再重放」的底盘。

打开 → 写入 → 关闭

三步缺一不可。open(路径, 'w') 的 'w' 是写入(会覆盖旧内容);write 真正把文字放进去;close 才保证内容落到存储上。只写不关,文件可能残缺或占着打不开。

换行也是一个字符

连续 write(str(i)) 会把 0、1、2 粘成 012。用 ASCII 转出的换行(chr(10))才能一行一个数,读回来才好拆。完整示例会再把文件读出、打印,证明「写进去的就是读出来的」。

按键启动一次写入

T2 按下才 open 并循环写 0~999,灯亮表示正在写、写完灯灭。不要把 open 放在 while 里每圈都新建文件,否则永远只留下最后一次。

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

先记住「打开、写入、换行、关闭」四步,再进编程练习对照灯与文件内容。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

3-2-1 文件写入.mix。载入后运行。

八、课堂练习

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

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

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

  3. 体验题按 T2 后写入的是?

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

九、本节小结

记住:打开、写入、关闭都在 T2 分支里。写完关文件,读回是下一档任务。