Шаг 1 из 3+110 XP
Файлы: построчно
Большие файлы читай построчно — экономно.
Чтение файла построчно
Что это
Если файл огромный (логи на гигабайты), f.read() загрузит всё в память — программа подвиснет или упадёт. Вместо этого можно итерироваться по файлу: на каждой итерации Python подгружает только одну строку и тут же её отдаёт.
Как это читать
with open("data.txt") as f:
for line in f:
print(line.strip())
- for line in f: — Python сам читает файл по одной строке.
- line приходит с символом перевода строки на конце ("hello\n").
- line.strip() убирает \n и пробелы по краям, чтобы было удобно работать.
Пример
# Посчитать строки длиннее 10 символов
long = 0
with open("notes.txt") as f:
for line in f:
if len(line.strip()) > 10:
long += 1
print(long)
👍 Используй построчное чтение по умолчанию — оно работает и для маленьких, и для огромных файлов.
👎 Не используй f.readlines() для больших файлов: он засасывает в память сразу весь список строк, в отличие от ленивой итерации for line in f.