我有一个大的日志文件(> 1GB)应该被分析,所以我写了一个python程序。我已经使用islice
,所以我可以读取文件块(10,000行),这样我的服务器不会用完内存。Python islice正在读取相同的行
我查阅了一些关于stackoverflow的islice
解决方案并实现了一个,但程序无法按预期工作,因为isclice每次都读取相同的行(但在读完整个文件后正确停止...)。我不能使用with open
因为它与Python 2.5,我有蟒蛇2.4 ...
我的代码如下所示:
n = 100000; # n lines
inf = open(fn, "r")
while True:
next_n_lines = list(islice(inf, n))
if not next_n_lines:
break
out_fn = produce_clean_logfile(next_n_lines)
a, t = main(out_fn)
send_log(a,t)
你知道什么是错的?
在此先感谢。 问候,约翰。
我试图从itertools的islice和它的作品。 因此,你的社交实现是错误的,如果你需要帮助,你应该发布它。 – lc2817 2013-04-05 07:55:42
在我的脚本之上,我写了'from itertools import islice' ...或者你是什么意思?我的'islice'代码在我的问题中 - 文字... – 2013-04-05 07:58:50
你是对的,还有另外一个问题。我已经测试了一个愚蠢的20行文件,它的工作原理,所以我必须在另一个地方搜索!感谢您的回答! – 2013-04-05 08:12:58