Определите функцию генератора, которая дает результатов по запросу эффективно:
def read_data():
with open("<your file>") as f:
counter, sublist = 0, []
for line in f:
if line.strip() == "0000":
counter += 1
if sublist and counter == 3:
yield sublist
sublist = []
continue
counter = 0
sublist.append(int(line.strip()))
else:
yield sublist
Использование функции read_data()
:
for data in read_data():
# TODO: process the data
# processdata(data)
print(data)
Это печатает:
[1111, 2222, 3333, 3333, 4444, 5555, 6666, 7777, 8888]
[1111, 2222, 3333, 3333, 4444, 5555, 6666, 7777, 8888]