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

title: Diário pessoal description: Um script que escreve entradas datadas em um arquivo e permite que você leia as antigas.

Diário pessoal

Dex Oi. Honestamente a missão tem sido pesada e eu estava querendo manter um registro. Você consegue criar um app de diário simples? Quero digitar uma nova entrada, tê-la salva com a data, e conseguir ler as antigas. Nada complicado. Só algo para tirar os pensamentos da minha cabeça ✍️

O que você está criando

Commands: new / read / quit

> new
2026-05-24
Tive uma manhã produtiva. Finalizei o projeto do gerenciador de inventário.
Entendi como a serialização JSON funciona corretamente.

[pressione Enter em uma linha vazia para salvar]
Entrada salva.

> read
--- 2026-05-24 ---
Tive uma manhã produtiva. Finalizei o projeto do gerenciador de inventário.
Entendi como a serialização JSON funciona corretamente.

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

> quit

O que você vai precisar

Dicas

Modo append é a chave. Abrir um arquivo com "a" adiciona ao final sem mexer no que está lá. É assim que novas entradas vão sem deletar as antigas.

datetime.date.today() te dá a data. Converta para uma string com str() ou uma f-string para usar como o cabeçalho da entrada. O módulo datetime está na biblioteca padrão.

Colete a entrada antes de escrever. Deixe o usuário digitar múltiplas linhas, adicionando cada uma a uma lista. Quando eles submeterem uma linha vazia, junte a lista e escreva a entrada inteira de uma vez.

Expandindo

Uma vez que o diário principal funciona:

  • Limite o que read mostra. Sempre imprimir o arquivo inteiro fica complicado rápido. Mostre apenas as últimas três entradas por padrão, com uma opção para mostrar mais.
  • Procure por entradas. Adicione um comando search que imprime qualquer entrada contendo uma palavra-chave.
  • Contagem de palavras por entrada. Mostre quantas palavras cada entrada contém ao exibi-la.