Есть ли модуль Python для прозрачной работы с содержимым файла в качестве буфера?
я работаю над чистым анализатором файлов Python для журналов событий, размер которых может варьироваться от килобайтов до гигабайт. Есть ли модуль, который абстрагирует явный ///.open()
.seek()
.read()
.close()
вызывает в простой буферный объект? Вы можете думать об этом как об обратномStringIO
, Я ожидаю, что это может выглядеть примерно так:
with FileBackedBuffer('/my/favorite/path', 'rb') as buf:
header = buf[0:0x10]
footer = buf[0x10000000:]
mmap
модуль может соответствовать моим требованиям; однако у меня есть две оговорки, которые ябуду благодарен за отзывы о:
mmap
может сделать это хорошо.mmap
Конструкторы разные в зависимости от ОС. Это заставляет меня колебаться, потому что я хочу писать кроссплатформенный код, и не буду вникать в специфику ОС. Я сделаю это, если мне нужно, но это вызвало предупреждение, что я могу искать не в том месте.Еслиmmap
правильный модуль для такой задачи, как он обрабатывает эти две точки? Если это не так, что является подходящим модулем?