Python:Next()不断给出错误StopIteration

Python:Next()不断给出错误StopIteration,python,next,Python,Next,这里只是一个python初学者!我在一个作业中遇到了一些问题,我应该浏览一个文本文件,找到四月的生日并打印出来。以下是文本文件的外观: 鲍勃,6月10日 乔,4月12日 苏,7月22日 我应该在四月份检查并打印出姓名和生日,但我一直得到e=next(a)StopIteration。我真的很困惑 a = open("c:/Users/me/Documents/fruits.txt", "r") for k in a: e = next(a) b = e.strip() c

这里只是一个python初学者!我在一个作业中遇到了一些问题,我应该浏览一个文本文件,找到四月的生日并打印出来。以下是文本文件的外观:
鲍勃,6月10日
乔,4月12日
苏,7月22日
我应该在四月份检查并打印出姓名和生日,但我一直得到e=next(a)StopIteration。我真的很困惑

a = open("c:/Users/me/Documents/fruits.txt", "r")
for k in a:
    e = next(a)
    b = e.strip()
    c = b[0 : 5]
    if c == "April":
       print b
       e = next(a)
   else:
    e = next(a)
a.close()

此代码将遍历文件的行,并打印其中包含“April”的任何行。在遍历文件行时,不需要在循环体中调用next()

for line in open("fruits.txt"):
    if "April" in line:
        print(line)

为什么在a中对k使用
e=next(a)
?两者的作用基本相同。顺便说一句,
StopIteration
表示您已经到达了文件的末尾。哇这其实很简单!谢谢你指出这一点并教我!:P