首页 > 解决方案 > python jarvis没有运行第2部分

问题描述

嗨,在维基百科下面的代码中,Youtube 似乎正在工作。但是当我尝试打开谷歌浏览器时,它会打开 Youtube。或者每当我坐着“我有多帅”时,它就会打开 youtube。我该如何解决这个问题。我如何使用这个 python 代码和我的声音在谷歌浏览器中打开 youtube。

import pyttsx3
import speech_recognition as sr
import datetime
import wikipedia
import webbrowser
import os

engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)


def speak(audio):
    engine.say(audio)
    engine.runAndWait()

def wishMe():
    hour = int(datetime.datetime.now().hour)
    if hour>=0 and hour<12:
        speak('Good Morning Sir')
    elif hour>=12 and hour<18:
        speak('Good Afternoon sir')
    else:
        speak('Good Evening sir')    

        speak('I am Jarvis')   
def takeCommand():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print('Listening...')
        r.pause_threshold = 1
        audio = r.listen(source)

    try:
        print('Recognizing...')
        query = r.recognize_google(audio, language='en')
        print(f"User said: {query}\n")

    except Exception as e:

        print('say that again pls sir')
        return "None"
    return query       


if __name__ == "__main__":
   wishMe()
   while True:
       query = takeCommand().lower()


       if 'wikipedia' in query:
           speak('Searching wikipedia')
           query = query.replace("wikipedia", "")
           results = wikipedia.summary(query, sentences=2)
           speak("According to Wikipedia")
           print(results)
           speak(results)
       elif  'open Youtube in query':
           webbrowser.open('youtube.com')
       elif 'how handsome am i in query':
           speak('you are very Handsome sir')  
       elif 'open Google in query':
           googlePath = ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
           os.startfile(googlePath)           

标签: pythonvisual-studio-code

解决方案


我认为您在上一个问题中遗漏了一些东西,用于检查 youtube、google 或我有多帅,是否在查询中,使用 elif 'open youtube' in query: # do not put 'in query' inside of single quotes

请记住,不要将“查询中”放在引号内,


推荐阅读