tMC tMC - 4 years ago 713
Python Question

Python mmap 'Permission denied' on Linux

I have a really large file I'm trying to open with mmap and its giving me permission denied. I've tried different flags and modes to the
but its just not working for me.

What am I doing wrong?

>>> import os,mmap
>>> mfd ='BigFile', 0)
>>> mfile = mmap.mmap(mfd, 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
mmap.error: [Errno 13] Permission denied

(using the built in
works via the python docs example, but it seems to open more than one handle to the file both in read & write mode. All i need for the
method is the file number, so I wouldn't assume i need to create a
object; hence my attempt at using

Answer Source

I think its a flags issue, try opening as read only:

mfd ='BigFile', os.O_RDONLY)

and mmap.mmap by default tries to map read/write, so just map read only:

mfile = mmap.mmap(mfd, 0, prot=mmap.PROT_READ)
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download