【发布时间】:2011-09-22 10:49:41
【问题描述】:
我需要逐行读取一个大文件。假设该文件超过 5GB,我需要读取每一行,但显然我不想使用readlines(),因为它会在内存中创建一个非常大的列表。
下面的代码将如何处理这种情况? xreadlines 本身是不是一一读入内存?需要生成器表达式吗?
f = (line for line in open("log.txt").xreadlines()) # how much is loaded in memory?
f.next()
另外,我该怎么做才能以相反的顺序阅读这篇文章,就像 Linux tail 命令一样?
我找到了:
http://code.google.com/p/pytailer/
和
“python head, tail and backward read by lines of a text file”
两者都工作得很好!
【问题讨论】:
-
我该怎么做才能从尾部读取这个?逐行,从最后一行开始。
-
这应该是一个单独的问题
标签: python python-2.x