给定mmap的构造函数声明:
class mmap.mmap(fileno, length[, flags[, prot[, access[, offset]]]])
如何指定访问权限和&偏移?
文档说明:
可以指定访问来代替flags和prot作为可选项 关键字参数。指定两个标志,prot和。是错误的 访问。有关如何使用的信息,请参阅上面的访问说明 使用此参数。
所以我尝试过像
这样的事情mmap.mmap(file_no, length, offset, access=mmap.ACCESS_COPY)
mmap.mmap(file_no, length, access=mmap.ACCESS_COPY, offset=offset)
m = mmap.mmap(f.fileno(),4,access = mmap.ACCESS_COPY,offset = 2)
追溯(最近的呼叫最后):
文件“”,第1行,in mmap.error:[Errno 22]参数无效
mmap.mmap(file_no, length, mmap.ACCESS_COPY, offset)
但我无法让它发挥作用。为什么这让我这么困惑?
答案 0 :(得分:3)
此错误与访问无关。如documented,偏移量必须是mmap.PAGESIZE
或mmap.ALLOCATIONGRANULARITY
的倍数。
答案 1 :(得分:1)
尝试:
m = mmap.mmap(f.fileno(), 4, access=mmap.ACCESS_COPY, offset=2 * mmap.ALLOCATIONGRANULARITY)