2

我正在尝试像这样映射文件:

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

搜索了这个之后,我仍然无法弄清楚是什么问题,奇怪的是,这是半小时前的工作!有什么帮助吗?

4

2 回答 2

5

我将其从我的评论中移出,因为它对 OP 很有帮助。

您需要检查您的文件是否为空..mmap.mmap抛出异常,如果参数中的文件为空..

检查文档-> http://docs.python.org/library/mmap.html

于 2012-10-05T14:33:51.183 回答
0

我在第一次尝试从文件中读取 memmap 时使用 mode='r' 时遇到了这个错误(作为一种声明文件的那部分是 memmap 的方式)。在这种情况下,numpy 尝试从文件中读取数据,意识到文件不够长,并尝试扩展文件以便新的 memmap 可以坐在那里。我花了一段时间才意识到 numpy 在没有写权限的情况下无法以这种方式扩展文件。

于 2017-10-04T21:41:16.363 回答