首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用库pyttsx3时,对象没有属性错误

使用库pyttsx3时,对象没有属性错误
EN

Stack Overflow用户
提问于 2019-06-12 21:02:03
回答 1查看 235关注 0票数 1

我已经为语音识别机器人写了一个演示项目。但是我遇到了一些错误,它表明对象没有属性。我已经附加了下面的代码

代码语言:javascript
复制
def speak(audio):
    print('Computer: ' + audio)
    engine.say(audio)
     engine.runAndWait()

myCommand的功能:

代码语言:javascript
复制
def myCommand():

r = sr.Recognizer()                                                                                   
with sr.Microphone() as source:                                                                       
    print("Listening...")
    r.pause_threshold =  1
    audio = r.listen(source)
try:
    query = r.recognize_google(audio, language='en-in')
    print('User: ' + query + '\n')

except sr.UnknownValueError:
    speak('Sorry sir! I didn\'t get that! Try typing the command!')
    query = str(input('Command: '))

    return query

主要功能:

代码语言:javascript
复制
if __name__ == '__main__':

while True:

    query = myCommand()
    print(query)
    query = query.lower()
    print(query)

    if 'open youtube' in query:
        speak('okay')
        webbrowser.open('www.youtube.com')

    elif 'open google' in query:
        speak('okay')
        webbrowser.open('www.google.co.in')          

    else:
        query = query
        speak('Searching...')
        try:
            try:
                res = client.query(query)
                results = next(res.results).text
                speak('WOLFRAM-ALPHA says - ')
                speak('Got it.')
                speak(results)

            except:
                results = wikipedia.summary(query, sentences=2)
                speak('Got it.')
                speak('WIKIPEDIA says - ')
                speak(results)

        except:
            webbrowser.open('www.google.com')

    speak('please give me Next Command! Sir!')

query = query.lower() AttributeError:“NoneType”对象没有属性“”lower“”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-12 21:09:51

我看到的问题是代码中的缩进。

代码语言:javascript
复制
with sr.Microphone() as source:                                                                       
   print("Listening...")
   r.pause_threshold =  1
   audio = r.listen(source)
try:
query = r.recognize_google(audio, language='en-in')
print('User: ' + query + '\n')

except sr.UnknownValueError:
  speak('Sorry sir! I didn\'t get that! Try typing the command!')
  query = str(input('Command: '))

return query

在您的代码中,return语句位于except块内,您只需将其返回到外部即可。祝你编码愉快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56562900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档