我正在尝试计算文件中的行,直到至少有5行,然后停止计数。
我无法弄清楚为什么这个简单的while
循环似乎会产生无限循环:
row_count = 0
while row_count <= 5:
for row in file_reader:
row_count += 1
答案 0 :(得分:2)
在for
有机会测试while
之前,row_count
循环将首先完成。
取而代之的是for
循环:
row_count = 0
for row in file_reader:
row_count += 1
if row_count > 5:
break
您可以使用enumerate()
生成计数:
for row_count, row in enumerate(file_reader):
if row_count > 5:
break
最后但并非最不重要的是,有itertools.islice()
:
from itertools import islice
for row in islice(file_reader, 5):
# only first five lines are iterated over