如何避免停止迭代错误?我不知道代码可能正在迭代的任何函数或循环。
import wolframalpha client = wolframalpha.Client('My Key is Goes Here') res = client.query('pi') print next(res.results).text
我从来没有用过 wolframalpha ,但这看起来应该是
wolframalpha
for result in res.results: print result.text
编辑: 我现在已安装 黑钨矿 我看到该查询(以及我尝试过的其他查询)在 res.results 相反,他们有 pods 。您可以按如下方式迭代pods in the docs :
黑钨矿
res.results
pods
for pod in res.pods: print '{p.title}: {p.text}'.format(p=pod)
您对 next 是什么导致了StopIteration错误。 Python的Wolframalpha API提供了一个迭代器,可以使用( next 只得到“下一个”结果而不是所有结果)
next
您可以使用try/except子句捕获错误:
try: print next(res.results).text except StopIteration: print "No results"