Tengo un archivo realmente grande que estoy tratando de abrir con mmap y me da permiso denegado. He intentado diferentes banderas y modos en el os.open
, pero simplemente no funciona para mí.Python mmap 'Permiso denegado' en Linux
¿Qué estoy haciendo mal?
>>> 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
>>>
(utilizando el construido en open()
obras a través del ejemplo de documentación de Python, pero parece abrir más de una manija para el archivo tanto en el modo & lectura y escritura. Todo lo que necesito para el método mmap.mmap
es el número de expediente , por lo que no asumiría que necesito para crear un objeto file
, por lo que mi intento de usar os.open()
)
Pregunta tonta, pero ¿tiene permiso de lectura en el archivo? –
¿Por qué abriste el archivo a través de 'os.open' en lugar del builtin' open() '? ¿Tamaño? Para ~ 50 MB de archivos (puede ser pequeño en relación con usted) que revisé con re, el built-in funcionó bien para mí después de incorporar 'prot = mmap.PROT_READ' según Bobby. –