问题描述
我有一个调用API并产生数据的函数。后来我使用next()
从生成器中检索数据,但是由于我不知道要“提取”多少数据,所以我最终执行next()
直到它引起{{1} }例外。
StopIteration
这似乎是一种糟糕的方法。我有办法避免Try / Except块吗?想知道发电机已耗尽吗? (找不到更好的词)
解决方法
StopIteration
例外 是迭代器报告其完成情况的方式。不过,有一种更简单的方法可以遍历整个迭代器:
def parse_data():
data = get_data()
for row_data in data:
print(row_data)