title: 개인 일지 description: 날짜가 지정된 항목을 파일에 작성하고 과거 항목을 읽을 수 있는 스크립트입니다.
개인 일지
Dex 안녕. 솔직히 말해서 임무가 많아서 기록을 남기고 싶었어. 간단한 일지 앱을 만들어줄 수 있을까? 새 항목을 입력하고, 날짜와 함께 저장하고, 과거 항목들을 읽을 수 있으면 좋겠어. 복잡할 필요 없어. 그냥 생각을 정리할 수 있는 정도면 돼 ✍️
만들 것
Commands: new / read / quit
> new
2026-05-24
오전이 정말 생산적이었다. 재고 관리자 프로젝트를 완료했다.
JSON 직렬화가 어떻게 작동하는지 제대로 이해했다.
[빈 줄에서 Enter를 눌러서 저장]
Entry saved.
> read
--- 2026-05-24 ---
오전이 정말 생산적이었다. 재고 관리자 프로젝트를 완료했다.
JSON 직렬화가 어떻게 작동하는지 제대로 이해했다.
--- 2026-05-23 ---
...
> quit필요한 것
- 파일과 예외 처리 - 새 항목을 위한 추가 모드, 전체 파일 읽기, 첫 실행 시 누락된 파일 처리
- 모듈과 표준 라이브러리 - 오늘 날짜를 문자열로 가져오기 위한
datetime - 문자열 - 날짜 헤더 형식 지정, 파일 내용을 항목으로 다시 분할
- 제어 흐름 - 명령 루프, 항목 작성을 위한 여러 줄 입력 루프
- 출력과 입력
힌트
추가 모드가 핵심입니다. "a"로 파일을 열면 기존 내용을 건드리지 않고 끝에 추가합니다. 이것이 새 항목을 이전 항목을 삭제하지 않고 추가하는 방법입니다.
datetime.date.today()로 날짜를 구합니다. str() 또는 f-문자열로 문자열로 변환하여 항목 헤더로 사용합니다. datetime 모듈은 표준 라이브러리에 있습니다.
작성하기 전에 항목을 수집합니다. 사용자가 여러 줄을 입력하도록 하고, 각 줄을 리스트에 추가합니다. 빈 줄을 제출하면 리스트를 결합하여 전체 항목을 한 번에 작성합니다.
더 나아가기
기본 일지가 작동하면:
read가 보여주는 것을 제한합니다. 전체 파일을 항상 출력하면 금방 복잡해집니다. 기본적으로 마지막 3개 항목만 표시하고 더 보기 옵션을 제공합니다.- 항목을 검색합니다. 키워드가 포함된 모든 항목을 출력하는
search명령을 추가합니다. - 항목당 단어 수. 항목을 표시할 때 각 항목이 포함된 단어 수를 표시합니다.

