B
Backend | Boost
@py_backend1321 подп.
221просмотров
68.8%от подписчиков
19 декабря 2025 г.
Score: 243
💾 mmap: работа с большими файлами без загрузки в RAM mmap (memory mapping) — это способ отобразить файл в виртуальную память, чтобы читать и писать в него как в обычный массив байтов, не загружая всё содержимое в оперативную память. 📌 Как это работает: • ОС сама подгружает в RAM только те страницы файла, к которым вы обращаетесь. • Не нужно читать файл целиком — даже гигабайтный лог можно обработать за секунды. • Изменения можно синхронизировать с диском автоматически. 🧠 Пример: поиск строки в 10-гигабайтном файле import mmap with open("huge.log", "r") as f: with mmap.mmap(f.fileno(), length=0, access=mmap.ACCESS_READ) as mm: if b"ERROR" in mm: print("Найдена ошибка!") ✅ Преимущества: • Потребление памяти не зависит от размера файла • Очень высокая скорость случайного доступа • Поддержка записи (с ACCESS_WRITE или ACCESS_COPY) ⚠️ Ограничения: • Работает с бинарными файлами (для текста — декодируйте фрагменты) • На Windows и Unix есть нюансы с блокировками • Не подходит для потоковых данных (только для файлов на диске)
221
просмотров
1070
символов
Да
эмодзи
Нет
медиа

Другие посты @py_backend1

Все посты канала →
💾 mmap: работа с большими файлами без загрузки в RAM mmap ( — @py_backend1 | PostSniper