我有一个大文本文件(约7 GB)。我正在寻找是否存在阅读大文本文件的最快方法。我一直在阅读有关使用多种方法作为读取chunk-by-chunk以加快进程的过程。

例如,effbot建议

# File: readline-example-3.py

file = open("sample.txt")

while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something**strong text**

为了每秒处理96,900行文本。其他作者建议使用islice()

from itertools import islice

with open(...) as f:
while True:
next_n_lines = list(islice(f, n))
if not next_n_lines:
break
# process next_n_lines

list(islice(f, n))将返回n文件的下一行列表f。在循环中使用它将为您提供大量n行的文件

解决方案


with open(<FILE>) as FileObj:
for lines in FileObj:
print lines # or do some other thing with the line...

将在此时读取一行内存,并在完成后关闭文件...

本文首发于Python黑洞网,博客园同步更新

最新文章

  1. jQuery ajax的traditional参数的作用///////////////////////////////////zzzzzzzzzzz
  2. MVVM模式下,ViewModel和View,Model有什么区别
  3. Js设置及获取Cookie的方法
  4. RocketMQ安装与部署说明
  5. wpf中button的无边框实现
  6. IE6/7/8如何兼容CSS3属性
  7. D3D 练习小框架
  8. 高通 MSM8K bootloader 之四: ramdump
  9. bzoj3812&amp;uoj37 主旋律
  10. 使用VsCode自带的Emmet语法
  11. 洛谷 P1338 末日的传说
  12. 用jquery的ajax方法获取return返回值的正确姿势
  13. EF Codefirst入门之创建数据库
  14. error: Microsoft Visual C++ 14.0 is required.
  15. 我的2018:OCR、实习和秋招
  16. Deepin 15.5上安装 Node.js
  17. 理解OpenShift(2):网络之 DNS(域名服务)
  18. css引入页面的三种方法
  19. linux command ------ tar
  20. python环境下使用tab自动补全命令

热门文章

  1. Ubuntu安装程序提示无法获得锁
  2. 转 使用Python的logging.config.fileConfig配置日志
  3. windows 虚拟内存查看
  4. windows 如何配置 Go 环境(Zip archive 方式)?
  5. document.location window.location
  6. hashRouter and BrowserRouter
  7. MAC如何与linux服务器传递文件
  8. setclock - 用系统时间来设置硬件时间
  9. signal - 有效信号的清单
  10. 使用canvas时, 如何用相对单位(rem, rpx)来适配不同机型