课程库 › AI 主线 › 文件与自动化脚本 › 第 6 课
单元测验 + 项目验收清单
里程碑约 30 分钟
本课导读
U1.3 收官。这个单元你的 Python 第一次伸手碰了"外部世界"——文件、表格、JSON、文件夹。关卡两件事:综合测验 10 题扫一遍全单元;项目复盘清单帮你确认批量整理器真的达到了"作品集"成色。预计 30 分钟。
赛前热身:本单元的知识地图
| 课 | 一句话回顾 |
|---|---|
| 1. 读写文本文件 | with open + utf-8;r/w/a 三模式(w 清空!);for line in f + strip |
| 2. 处理 CSV | 别手动 split;DictReader 主力;读出来全是字符串;writer 出报表 |
| 3. 处理 JSON | s 管字符串无 s 管文件;ensure_ascii=False;解析=剥洋葱;可选字段 .get |
| 4. 路径与批量 | Path 对象 + / 拼路径;iterdir/glob 扫描;rename 改名即搬家;先彩排 |
| 5. 项目课 | 需求 → V1 → V2 → V3;分组编号归档 + CSV 清单;幂等与 dry_run |
关卡测验
1. 日志文件要每天追加一条记录,open 的模式该用?
2. with open(...) as f: 结构保证了什么?
3. for line in f: 之后通常马上 line.strip(),是因为?
4. csv.DictReader 读出的 r["amount"] 是 "299",想求和必须?
5. json.loads 和 json.load 的区别是?
6. json.dump(data, f, ensure_ascii=False, indent=2) 两个参数各管什么?
7. 接口返回的 JSON 里,文档标注“可选”的字段该怎么取?
8. Path 对象拼路径用 folder / "a.txt" 而不是字符串相加,核心好处是?
9. 想把 downloads 里所有 PDF 挑出来批量处理,第一步是?
10. 批量 rename 前先跑一遍 dry_run(只打印计划不动文件),这个习惯的本质是?
项目复盘清单:让它配得上"作品集"
测验过关后,回头给上一课的批量整理器做一次"出厂检验"。逐条勾完,它才算你的第二件作品:
提示
最后一条别跳过——"写完 → 自查 → 请人审 → 迭代"这个循环,比项目本身更值钱。你的每一件作品集材料都该走完这个循环。
通关小结
U1.3 拿下,你的 Python 完成了从"语言练习"到"干活工具"的转身:
- 持久化:程序有了记忆(文本、CSV、JSON 三种格式各归其位)
- 批量化:pathlib 扫描 + 循环加工,手工两小时的活一秒完成
- 工程味:with 自动关门、utf-8 保命、脏数据隔离、彩排再动手、幂等可重跑
下个单元 U1.4 是决定性的一步:从浏览器毕业——在自己的电脑上装 Python、配 VS Code、学命令行、用 Git 把项目推上 GitHub。你在沙盒里练的所有功夫,即将接管真实世界。
划选正文任意文字可高亮、批注或加入复习卡
讨论
载入中…