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

title: Diario personal description: Un script que escribe entradas fechadas en un archivo y te permite leer las antiguas.

Diario personal

Dex Oye. Honestamente la misión ha sido mucho y he estado pensando en llevar un registro. ¿Puedes construir una aplicación de diario simple? Quiero escribir una entrada nueva, que se guarde con la fecha, y poder leer las antiguas. Nada complicado. Solo algo para sacar los pensamientos de mi cabeza ✍️

Lo que estás construyendo

Comandos: new / read / quit

> new
2026-05-24
Tuve una mañana productiva. Terminé el proyecto del gestor de inventario.
Finalmente entendí cómo funciona la serialización de JSON.

[presiona Enter en una línea vacía para guardar]
Entrada guardada.

> read
--- 2026-05-24 ---
Tuve una mañana productiva. Terminé el proyecto del gestor de inventario.
Finalmente entendí cómo funciona la serialización de JSON.

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

> quit

Lo que necesitarás

Pistas

El modo append es la clave. Abrir un archivo con "a" agrega al final sin tocar lo que hay. Así es como entran nuevas entradas sin eliminar las antiguas.

datetime.date.today() te da la fecha. Conviértela a una cadena con str() o una f-string para usarla como encabezado de entrada. El módulo datetime está en la biblioteca estándar.

Recopila la entrada antes de escribir. Permite que el usuario escriba múltiples líneas, agregando cada una a una lista. Cuando envíen una línea vacía, une la lista y escribe toda la entrada a la vez.

Ir más allá

Una vez que el diario principal funcione:

  • Limita lo que muestra read. Imprimir siempre el archivo completo se vuelve engorroso rápidamente. Muestra solo las últimas tres entradas por defecto, con una opción para mostrar más.
  • Busca entradas. Agrega un comando search que imprima cualquier entrada que contenga una palabra clave.
  • Recuento de palabras por entrada. Muestra cuántas palabras contiene cada entrada cuando la muestres.