Python 随机存取文件

标签 python file file-io large-files random-access

是否有一种 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/

相关文章:

java - 将文件存储在对象内

c++ - 在 C++ 中将文本文件读入 std::string 的单行代码?

matlab - MATLAB 中的文本扫描 : read NULL value as NaN

python - 访问下拉元素中的字段

python - Gevent:重试一次greenlet

linux - grep 日志文件仅用于 X 个具有特殊值(value)的最新条目

file - 读取 FITS 文件

file - ASP.Net MVC - 从 HttpPostedFileBase 读取文件而不保存

javascript - Django 和 ReactJS 没有呈现模板

python - 属性错误 : 'NoneType' object has no attribute 'sendline' yet module contains the attribute having tested it another way?