我正在尝试像这样映射文件:
f= open('file.txt', 'r')
data= mmap.mmap(f.fileno(), 0)
但我得到:
data= mmap.mmap(f.fileno(), 0)
ValueError: mmap offset is greater than file size
搜索了这个之后,我仍然无法弄清楚是什么问题,奇怪的是,这是半小时前的工作!有什么帮助吗?
我将其从我的评论中移出,因为它对 OP 很有帮助。
您需要检查您的文件是否为空..mmap.mmap
抛出异常,如果参数中的文件为空..
我在第一次尝试从文件中读取 memmap 时使用 mode='r' 时遇到了这个错误(作为一种声明文件的那部分是 memmap 的方式)。在这种情况下,numpy 尝试从文件中读取数据,意识到文件不够长,并尝试扩展文件以便新的 memmap 可以坐在那里。我花了一段时间才意识到 numpy 在没有写权限的情况下无法以这种方式扩展文件。