【发布时间】:2013-06-26 17:21:50
【问题描述】:
当我遍历文件时,我需要获取文件中前一行的值并将其与当前行进行比较。该文件很大,因此我无法完整读取它或使用linecache 随机访问行号,因为库函数仍然会将整个文件读入内存。
编辑很抱歉,我忘了提到我必须向后读取文件。
EDIT2
我尝试了以下方法:
f = open("filename", "r")
for line in reversed(f.readlines()): # this doesn't work because there are too many lines to read into memory
line = linecache.getline("filename", num_line) # this also doesn't work due to the same problem above.
【问题讨论】:
-
你的意思是前一行?不能边走边保存吗?
-
如果您向我们展示您目前所写的内容,您将更有可能获得帮助。
-
你能提供你试过的东西吗?可以逐行遍历文件,并且可以将行分配给变量,那么到底出了什么问题?顺便问一下,HUGE 有多大?
-
我不能,因为文件有太多行,所以当我尝试将它们全部放入列表时,python 抱怨它无法为列表分配必要的内存。
-
如果您仍然按顺序访问这些行,您是否尝试过一次存储两个连续的行?