TGViewer
Python/ django Python/ django @pythonl · 58.8K subscribers
Post #5533 5.92K
🖥 Python умеет читать бинарные файлы блоками очень элегантно - без ручного while True.

Вот такой приём через functools.partial:


`iter(partial(f.read, 64), b'')`


Что тут происходит:

partial(f.read, 64) превращает f.read(64) в функцию без аргументов.

iter(..., b'') вызывает её снова и снова, пока результат не станет b'', то есть пока файл не закончится.

В итоге получаем аккуратный цикл по блокам:


from functools import partial

with open("mydata.db", "rb") as f:
for block in iter(partial(f.read, 64), b""):
process_block(block)
  • 👍 13
  • 🔥 11
  • ❤ 2
More from @pythonl
  1. Sep 24, 2026Линтер для инструкций ИИ-агентов LintLang проверяет AGENTS.md, CLAUDE.md, SKILL.md, описан…
  2. Sep 24, 2026‼️Ваши данные уже слиты. Вопрос лишь в том, кто и как ими воспользуется. Только в 2025 год…
  3. Sep 24, 2026⚡️ OmniVoice - открытая модель озвучки с поддержкой более 600 языков. Она умеет клонироват…
  4. Sep 23, 2026⚡ Qwen представила Audio 3.1 - единый стек для ASR, TTS и realtime-аудио. Главное: * ASR л…
  5. Sep 20, 2026🐍 Ruff доволен, mypy молчит, тесты зелёные. А в коде четыре одинаковых функции Автор стат…
  6. Sep 19, 2026🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретног…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →