我有一个非常大的文本文件(几GB大小),我需要将其读取到Python中,然后逐行处理。
一种方法是简单地调用data=f.readlines()
然后处理内容。通过这种方法,我知道行的总数,并可以轻松衡量我的处理进度。但是,考虑到文件大小,这可能不是理想的方法。
另一种(我认为更好)的选择是说:
for line in f:
do something
刚才我不确定如何衡量我的进步了。有没有一个不增加巨大开销的好选择?(我可能想知道进度的一个原因是,我有一个剩余时间的粗略指标,因为我文件中的所有行都有相似的大小,并确定我的脚本是否仍在做某事或卡在某个地方。
如果使用Linux OS,似乎有一条出路。
a = os.popen("wc -l some.txt")
f = a.read()
阅读时,您将获得行数以及文件名