Как прочитать текстовый файл построчно, не загружая его целиком в ОЗУ?

Откройте файл через with и итерируйтесь по файловому объекту: for line in stream. В память будет попадать очередная строка и буфер, а не содержимое всего файла.

Короткий ответ

Что ответить на собеседовании

Откройте файл через with и итерируйтесь по файловому объекту: for line in stream. В память будет попадать очередная строка и буфер, а не содержимое всего файла.

Подробный разбор

Ответ с пояснениями

Откройте файл через with и итерируйтесь по файловому объекту: for line in stream. В память будет попадать очередная строка и буфер, а не содержимое всего файла.

Пример:

with open('data.txt', encoding='utf-8') as stream:
    for line in stream:
        process(line)

Здесь process — ваша функция обработки. Не используйте read() без размера, readlines() или list(stream), если файл велик. Строка сохраняет перевод строки; удаляйте его только при необходимости. Для файла с одной гигантской строкой построчное чтение тоже потребует много памяти: тогда нужен разбор ограниченными chunks с переносом незавершённого фрагмента.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее