Python Wolfram Alpha API:StopIteration

时间:2016-03-01 22:07:37

标签: python api wolframalpha stopiteration

如何避免停止错误?我不知道代码可能正在迭代的任何函数或循环。

import wolframalpha

client = wolframalpha.Client('My Key is Goes Here')
res = client.query('pi')

print next(res.results).text

2 个答案:

答案 0 :(得分:0)

我从未使用wolframalpha,但看起来应该是

for result in res.results:
    print result.text

修改:我现在安装了wolframalpha,我发现该查询(以及我尝试过的其他查询)在res.results中没有结果。相反,他们有pods。您可以按in the docs

遍历广告连播
for pod in res.pods:
    print '{p.title}: {p.text}'.format(p=pod)

答案 1 :(得分:0)

您使用next是创建StopIteration错误的原因。 用于Wolframalpha的Python的API提供了一个迭代器,您可以使用(next只获取" next"结果而不是所有结果来循环结果)

您可以使用try / except子句捕获错误:

try:
    print next(res.results).text
except StopIteration:
    print "No results"