У меня есть действительно большой файл, который я пытаюсь открыть с помощью mmap, и мне отказывают в доступе. Я пробовал разные флаги и режимы для os.open
, но у меня это просто не работает.
Что я делаю не так?
>>> import os,mmap
>>> mfd = os.open('BigFile', 0)
>>> mfile = mmap.mmap(mfd, 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
mmap.error: [Errno 13] Permission denied
>>>
(использование встроенного open()
работает через пример документации python, но, похоже, он открывает более одного дескриптора файла как в режиме чтения, так и в режиме записи. Все, что мне нужно для метода mmap.mmap
, это номер файла, поэтому я бы не стал предполагать мне нужно создать объект file
, отсюда и моя попытка использовать os.open()
)
os.open
, а не через встроенныйopen()
? Размер? Для файлов ~ 50 МБ (может быть небольшим по сравнению с вами), которые я сканировал с помощью re, встроенная функция работала нормально для меня после включенияprot=mmap.PROT_READ
согласно Бобби. - person Nick T   schedule 20.04.2013