Skip to content
This page has been auto-translated and may contain errors.View in English

title: 个人日志 description: 一个将日期条目写入文件并让你读取过去条目的脚本。

个人日志

Dex 嘿。说实话,任务很繁重,我一直想保持一个日志。你能构建一个简单的日记应用吗?我想输入新条目,让它与日期一起保存,并且能够读取旧条目。没什么复杂的。只是想把想法从脑子里记录下来 ✍️

你要构建的内容

Commands: new / read / quit

> new
2026-05-24
上午很有成效。完成了库存管理项目。
搞懂了 JSON 序列化的工作原理。

[在空行上按 Enter 保存]
条目已保存。

> read
--- 2026-05-24 ---
上午很有成效。完成了库存管理项目。
搞懂了 JSON 序列化的工作原理。

--- 2026-05-23 ---
...

> quit

你需要的知识

提示

追加模式是关键。"a" 打开文件会添加到末尾而不触及现有内容。这就是新条目如何在不删除旧条目的情况下添加进来的。

datetime.date.today() 给你日期。str() 或 f-字符串将其转换为字符串,以用作条目标题。datetime 模块在标准库中。

在写入前收集条目。 让用户输入多行,将每一行添加到列表中。当他们提交空行时,连接列表并一次性写入整个条目。

进一步扩展

一旦核心日志工作正常:

  • 限制 read 显示的内容。 总是打印整个文件会很快变得难以管理。默认情况下只显示最后三个条目,并提供显示更多的选项。
  • 搜索条目。 添加一个 search 命令,打印包含关键字的任何条目。
  • 每个条目的字数统计。 显示每个条目包含多少字。