从Python中的打开文件中每100行(或更少)读取一次

Der*_*unk -1 python

我有一个包含数千条记录的文件,每行一条.我需要阅读100,处理它们,读取另外100个,处理它们等等.我不想加载那些记录并将它们保存在内存中.如何使用Python从打开的文件读取(直到EOF)100或更少(当遇到EOF时)行?

ILo*_*oon 7

islice()可用于检索n迭代器的下一项.

from itertools import islice

with open(...) as file:
    while True:
        lines = list(islice(file, 100))
        for line in lines:
            # do stuff
        if not lines:
            break
Run Code Online (Sandbox Code Playgroud)