读取1t单行大文件

  • A+
所属分类:Python基础

假如给你一个1T的大文件, 那么怎么读取呢?

并且所有文本都在一行哦

怎么办?

  • def myreadlines(f, newline):
  •   buf = ""
  •   while True:
  •     while newline in buf:
  •       pos = buf.index(newline)
  •       yield buf[:pos]
  •       buf = buf[pos + len(newline):]
  •     chunk = f.read(4096)

 

  •     if not chunk:
  •       #说明已经读到了文件结尾
  •       yield buf
  •       break
  •     buf += chunk

 

  • with open("input.txt") as f:
  •     for line in myreadlines(f, "{|}"):
  •         print (line)
  • 微信
  • 等你哟
  • weinxin
  • 微信公众号
  • mac软件资源等你来拿
  • weinxin
小羊同学

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: