Python 现代开发学习笔记

(十九)独立练习与后续衔接

以下任务均为自拟,先预测文件内容、表中记录与输出,再运行核对。

  1. 逐行累计与错误定位。 文本为 20、35、很多、45,前三条处理到转换错误时,报告第 3 条记录,文件关闭。再把坏记录修成 0,总量应为 100。按实际控制过程选择整份失败还是跳过坏记录,并写清输出。
  2. CSV 完整往返。 保存标题 Python, "入门",标签包含逗号和竖线,随后读回,字段与标签内容保持相同。再加入标题内的换行,观察文本物理行数与记录数。
  3. 已有文件损坏。 保存一份有效快照,再把一份副本改成坏 JSON。载入应报告错误;失败过程不自动写空书架,也不覆盖那份副本。
  4. 事务整批撤回。 库中已有 Python,批次先加入 NumPy,再写入违反约束的记录。捕获错误后查询,NumPy 不应留下。把异常处理移进事务主体,再解释结果差异。
  5. 关联统计。 Python 有 20、35 两条日志和两个标签,NumPy 没有日志。查询应得到 Python 总量 55、NumPy 总量 0,不因标签数翻倍;先画出连接中间行再实现。
  6. 保留主键与历史。 为 Python 记录一次 20 分钟,再导入修改过标签的同名书目,编号和原日志仍然保留,标签按新书目更新。
  7. 查询与索引。 增加按日期区间统计,区间内两次阅读 20、35 得到 55,区间外的一次 45 不参与。观察 (book_id, day) 的计划,并区分结果正确与索引是否被采用。

当前书籍对象已经能跨进程保存,数据库也能把多条修改作为事务处理。继续扩展程序时,接下来需要更方便地定位错误、固定检查数据、记录日志,并在修改后快速重跑。这些工作会在下一章接到现有项目上。

本章习题解答与推导 按题号整理实现、过程说明与运行检查,可在完成练习后逐项对照。

笔记正文与全部题解 · Ctrl / ⌘ K