Python 导入 py 未正确运行

问题描述

我有一个 .py 文件,它通过导入调用一个文件,然后根据需要执行的操作调用更多文件。当第一个文件 WakeWord.py 运行时,它会调用一个文件,然后正确调用所有其他文件,并且没有问题。最后一部分是再次调用原始文件。该文件运行时有一个 consol 打印 print("im listening"),这就是它不会再进一步​​的地方。由于有多少代码将其分解为第一个和最后一个文件,以查看是否有人可能有解决方案。

import speech_recognition as sr
from pydub.playback import play
from pydub import AudioSegment
import random
from gtts import gTTS
import os
import time
r = sr.Recognizer()
def record_audio(ask=False):
with sr.Microphone() as source:
    if ask:
        bob_speak(ask)
    audio = r.listen(source)
    voice_data = ''
    try:
        voice_data = r.recognize_google(audio)
    except sr.UnkNownValueError:
        bob_speak("again")
    except sr.RequestError:
        bob_speak("link broken")
    return voice_data

def bob_speak(audio_string):
    tts = gTTS(text = audio_string,lang = 'en',slow=False)
    random.randint(1,1000000)
    audio_file = 'audio-' + str(r) + '.mp3'
    tts.save(audio_file)
    sound = AudioSegment.from_mp3(audio_file)
    print(audio_string)
    time.sleep(0.1)
    play(sound)
    os.remove(audio_file)

def GetVoiceData(voice_data):
    if 'wake up' in voice_data:
        print("im listening")
        time.sleep(1)
        import VoiceLookup
        time.sleep(1)
print("going to sleep")
while 1:
    voice_data = record_audio()
    GetVoiceData(voice_data)

VoiceLookup.py 文件用于搜索数据库,最后一个文件是下面的 KillMotors.py。

import os
import RPi.GPIO as GPIO
from time import sleep
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
print ("Killing Motor Drivers")
sleep(1)
os.remove("MotorCode.py")
print ("Cleaning Files")
sleep(1)
os.remove("Coor.py")
GPIO.setup(13,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(26,initial=GPIO.LOW)
GPIO.setup(6,initial=GPIO.LOW)
GPIO.setup(11,initial=GPIO.LOW)
GPIO.setup(21,initial=GPIO.LOW)
GPIO.setup(20,initial=GPIO.LOW)
GPIO.setup(16,initial=GPIO.LOW)
GPIO.setup(12,initial=GPIO.LOW)
import WakeWord.py
exit()

Wakeword.py 启动后,我得到一个“我在听”的提示,但它不会超过那个。任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...