示例需要在python中使用mmap函数

时间:2011-02-04 01:12:21

标签: python mmap

我在python中寻找一个示例来记忆映射1gb文件。有没有人有我可以使用的例子?

该文件可以是任何随机文本。我只是想看看这样做的正确方法是什么......

1 个答案:

答案 0 :(得分:3)

这是一个可以帮助您理解python(3.0 +)

中的mmap的示例

下面的代码打开一个文件,然后内存映射它。它运行映射文件的readline()方法,证明它与标准文件一样工作。然后它读取和写入映射文件的片段(一种同样有效的方式来访问映射文件的内容,这不会改变文件指针)。最后,文件指针在开始时重新定位并读入(更新的)内容。(“14”是write()函数的返回值,它总是返回写入的字节数。)

>>> with open("myfile.txt", "wb") as f:
... f.write(b"Hello Python!\n")

>>> import mmap
>>> with open("myfile.txt", "r+b") as f:
... mapf = mmap.mmap(f.fileno(), 0)
... print(mapf.readline()) # prints b"Hello Python!\n"
... print(mapf[:5]) # prints b"Hello"
... mapf.tell()
... mapf[6:] = b" world!\n"
... mapf.seek(0)
... print(mapf.readline()) # prints b"Hello world!\n"
... mapf.close()
...
b'Hello Python!\n'
b'Hello'
14
b'Hello world!\n'