相关疑难解决方法(0)

如何在Python中逐行读取大文本文件,而不将其加载到内存中?

我需要逐行读取一个大文件.假设文件超过5GB,我需要读取每一行,但显然我不想使用,readlines()因为它会在内存中创建一个非常大的列表.

以下代码如何适用于此案例?xreadlines本身是一个一个地读入记忆吗?是否需要生成器表达式?

f = (line for line in open("log.txt").xreadlines())  # how much is loaded in memory?

f.next()  
Run Code Online (Sandbox Code Playgroud)

另外,我可以做什么来以相反的顺序读取它,就像Linux tail命令一样?

我发现:

http://code.google.com/p/pytailer/

" python头,尾和向后读取文本文件的行 "

两者都运作得很好!

python

218
推荐指数
8
解决办法
22万
查看次数

标签 统计

python ×1