Какие знаешь варианты работы с большим файлом в Python

Python Middle Без компании
Какие знаешь варианты работы с большим файлом в Python
Ответы
Для работы с большими файлами в Python есть несколько подходов: - **Чтение по строкам** (итеративное): ``` with open('large_file.txt', 'r') as f: for line in f: # читает по одной строке process(line) ``` - **Чтение чанками** (фиксированными блоками): ``` chunk_size = 1024 with open('large_file.bin', 'rb') as f: while True: chunk = f.read(chunk_size) if not chunk: break process(chunk) ``` - **Использование генераторов** для обработки данных: ``` def read_large_file(file): while True: data = file.read(8192) if not data: break yield data ``` - **Модуль mmap** (memory-mapped files): ``` import mmap with open('large_file', 'r+') as f: mm = mmap.mmap(f.fileno(), 0) # работаем как с байтовой строкой ``` Ключевые моменты: - Всегда используйте `with` для автоматического закрытия файла - Для бинарных данных используйте режим 'rb' - Избегайте `read()` без параметров для больших файлов - Для CSV/JSON можно использовать pandas с `chunksize`