我有一個大的日誌文件(> 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