chunk_fileobj

chunk_fileobj(fileobj)
Параметры:

fileobj (BufferedReader) – Файловый объект для чтения

Результат:

Генератор байтовых чанков

Тип результата:

Generator[bytes, None, None]

Потоковое чтение файла с разбиением на чанки фиксированного размера.

Описание:

Читает файл порциями по CHUNK_SIZE (1 МБ) и возвращает генератор, который последовательно отдает эти чанки. После полного чтения файла автоматически закрывает файловый объект.

Особенности:

  • Потоковая обработка: Не загружает весь файл в память

  • Автозакрытие: Гарантированное закрытие файла после чтения

  • Оптимальный размер: Использует стандартный CHUNK_SIZE

  • Универсальность: Работает с любым файловым объектом, поддерживающим read()

Пример использования:

with open("large_file.bin", "rb") as f:
    for chunk in chunk_fileobj(f):
        # Обработка каждого чанка
        process_chunk(chunk)
    # Файл автоматически закрыт

Использование:

Для эффективной обработки больших файлов при:

  • Передаче данных по сети

  • Сжатии/распаковке

  • Конвертации между форматами

  • Поточной загрузке в базы данных