TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #5064 469
Почему mmap не всегда избавляет от копирования

mmap позволяет обращаться к содержимому файла по смещениям. Это удобно для бинарных форматов и повторного поиска, но срез mapped[start:end] всё равно создаёт новый объект bytes.

Чтобы работать с данными через заимствованное представление, используйте memoryview. Тогда нужно следить за временем жизни: пока представления существуют, закрытие mapping может вызвать BufferError. Освободите их до выхода из контекстного менеджера.

Отображение не означает, что весь файл сразу загружен в RAM, и не делает его неизменяемым снимком. Другой процесс всё ещё может менять исходный файл.

Для одного последовательного прохода обычное буферизованное чтение часто проще. Выбирайте mmap под характер доступа и измеряйте результат.

#python #память
More from @zen_of_python
  1. Oct 14, 2026Post #5063
  2. Oct 14, 2026Когда Path.info экономит обращения к файловой системе При обходе большого каталога проверк…
  3. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  4. Oct 13, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  5. Oct 13, 2026Post #5059
  6. Oct 13, 2026Как менеджер паролей найдёт вашу форму Django Менеджер паролей обнаружил утечку и предлага…
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 →