是否有一种 Python 文件类型可以在不遍历整个文件的情况下访问随机行?我需要在一个大文件中搜索,将整个文件读入内存是不可能的。
任何类型或方法将不胜感激。
最佳答案
这似乎就是一类事情 mmap
专为。 mmap
对象创建文件的类似字符串的接口(interface):
>>> f = open("bonnie.txt", "wb")
>>> f.write("My Bonnie lies over the ocean.")
>>> f.close()
>>> f.open("bonnie.txt", "r+b")
>>> mm = mmap(f.fileno(), 0)
>>> print mm[3:9]
Bonnie
如果您想知道,mmap
对象也可以分配给:
>>> print mm[24:]
ocean.
>>> mm[24:] = "sea. "
>>> print mm[:]
My Bonnie lies over the sea.
关于Python 随机存取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999340/