我有一个非常大的文本文件(大小为几GB),我需要读入Python然后逐行处理。
一种方法是简单地调用data=f.readlines()
然后处理内容。通过这种方法,我知道总行数,并可以轻松地衡量我的处理进度。然而,考虑到文件大小,这可能不是理想的方法。
替代方案(我认为更好)可以说:
for line in f:
do something
刚才我不知道如何衡量我的进步。有没有一个不会增加巨额开销的好选择? (一个令人振奋的原因是我可能想知道进度是因为我有一个粗略的剩余时间指示,因为我文件中的所有行都有相似的大小,并确定我的脚本是在做某事还是已经卡在某处。 )
答案 0 :(得分:0)
如果使用linux操作系统,似乎有一种出路。
a = os.popen("wc -l some.txt")
f = a.read()
在阅读时,您会获得行数和文件名