Python Schoolby trefilov
Шаг 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.