【问题标题】:StopIteration error in pythonpython中的StopIteration错误
【发布时间】:2016-02-23 02:19:57
【问题描述】:

我正在同时使用wolframalphawit.ai,我正在尝试构建wolframalphawit.ai 音频而不是终端文本中获取数据。

我的代码是:

#!/usr/bin/python
import speech_recognition as sr
import wolframalpha
import sys

r = sr.Recognizer()
with sr.Microphone() as source:
    print("Say something!")
    audio = r.listen(source)


WIT_AI_KEY = "NQYEITRO5GL2Q2MZFIJE4UHWVNQEUROW"
try:
    print("Wit.ai thinks you said " + r.recognize_wit(audio, key=WIT_AI_KEY))
except sr.UnknownValueError:
    print("Wit.ai could not understand audio")
except sr.RequestError as e:
    print("Could not request results from Wit.ai service; {0}".format(e))


client = wolframalpha.Client('PR5756-H3EP749GGH')
print(r.recognize_wit(audio, key=WIT_AI_KEY))
res = client.query(r.recognize_wit(audio, key=WIT_AI_KEY))
print(next(res.results).text)

我正面临这个错误:

MacBook-Air:Documents exepaul$ python ak.py
2016-02-22 23:05:04.429 Python[3003:122880] 23:05:04.428 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Say something!
Wit.ai thinks you said seven
seven
Traceback (most recent call last):
  File "ak.py", line 24, in <module>
    print(next(res.results).text)
StopIteration

如何向 wolframalpha api 提供数据?

【问题讨论】:

  • 如果你不知道next() 可能会在 Python 中引发StopIteration;您应该学习 Python 基础知识:您可能还有其他明显的差距。见python.org/about/gettingstarted
  • 这行得通吗? print(res.results[0].text)

标签: python linux python-3.x wolfram-mathematica speech-recognition


【解决方案1】:

StopIteration 在生成器耗尽并且没有更多值时引发,完全可以得到一个。但是你需要自己处理:

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

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 2018-10-08
    • 2013-06-23
    • 2016-11-20
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 2013-02-20
    相关资源
    最近更新 更多