Глава 15 · Python и файлы
Мини-проект — знакомство с файлами
Дневник заметок, сохраняющийся между запусками программы, — и подведение итогов главы.
Соберём чтение и запись в одном небольшом проекте — дневнике заметок, который сохраняется между запусками программы.
dnevnik_zametok.py
from pathlib import Path
fajl_zametok = Path("zametki.txt")
novaya_zametka = input("Новая заметка: ")
with fajl_zametok.open("a") as f:
f.write(novaya_zametka + "\n")
print("Все заметки:")
with fajl_zametok.open("r") as f:
for line in f:
print("-", line.strip())
Почему дозапись, а не перезапись
Режим
"a" добавляет заметку, не стирая предыдущие — именно так и должен вести себя настоящий дневник: каждый запуск программы добавляет новую запись, а не начинает всё заново.★★ Самостоятельная задача
Нумерация заметок
Добавьте номер к каждой заметке при чтении — например, «1. Первая заметка», «2. Вторая заметка».
Итоги
Что мы узнали в этой главе
- Файлы сохраняют данные между запусками программы — в отличие от обычных переменных.
with open(путь, режим) as file:— современный и безопасный способ работать с файлами, закрывающий их автоматически.- Режимы:
"r"— чтение,"w"— запись с перезаписью,"a"— дозапись в конец. - Файл можно читать целиком (
.read()), построчно (циклfor line in file) или списком строк (.readlines()). pathlib.Path— современный способ работать с путями к файлам вместо голых строк.