【发布时间】:2011-08-15 12:39:33
【问题描述】:
我需要通过一次最多读取 N 行来读取一个大文件,直到 EOF。在 Python 中最有效的方法是什么?比如:
with open(filename, 'r') as infile:
while not EOF:
lines = [get next N lines]
process(lines)
【问题讨论】:
-
快速非常愚蠢的问题:如果 N == 1,您将在
process(lines)中执行的任何操作都有效吗?如果不是,那么您在最后一行中可能存在单行问题。如果它确实适用于 N == 1,那么只做for line in infile: work_on(line)会更有效率。 -
@JohnMachin 虽然它可能适用于 N == 1,但它可能效率不高。想想 DL 中的小批量梯度下降。