Ошибка: PermissionError: [Errno 13] Permission denied: 'audio.mp3'
Пытался сделать голосовой ассистент, но столкнулся с такой ошибкой: PermissionError: [Errno 13] Permission denied: 'audio.mp3'.
Как я понял ошибка в том, что os.remove(file) не удаляет файл, из за этого следующий файл не создается и последующие фразы не произносятся.
Права администратора на компьютере есть, не понимаю почему вылетает ошибка.
Часть кода в которой как я считаю ошибка:
def say(text):
voice = gTTS(text, lang="ru")
file = "audio.mp3"
# try:
voice.save(file)
# except PermissionError:
# return "Не могу перезаписать файл"
playsound.playsound(file)
os.remove(file)
print("Ассистент:", text)
Ниже представлен весь код:
import speech_recognition as sr
import playsound
import os
from gtts import gTTS
def listen():
voice_recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("Скажите что-нибудь >>> ")
audio = voice_recognizer.listen(source)
try:
voice_text = voice_recognizer.recognize_google(audio, language="ru")
print("Вы сказали:", voice_text)
return voice_text
except sr.UnknownValueError:
return "Ошибка распознования"
except sr.RequestError:
return "Ошибка запроса"
# os.remove(file) не удаляет файл, из за этого следующий файл не создается и последующие фразы не произносятся
def say(text):
voice = gTTS(text, lang="ru")
file = "audio.mp3"
# try:
voice.save(file)
# except PermissionError:
# return "Не могу перезаписать файл"
playsound.playsound(file)
os.remove(file)
print("Ассистент:", text)
def handle_command(user_text):
user_text = user_text.lower()
if user_text == "привет":
say("Привет-привет")
elif user_text == "пока":
stop()
elif user_text == "закажи еду":
say("пиццу или тортик?")
else:
say("Не понимаю, повторите")
def stop():
say("Пока-пока")
exit(0)
def start():
print("Запуск ассистента...")
while True:
command = listen()
handle_command(command)
try:
start()
except KeyboardInterrupt:
stop()
Заранее всем спасибо за потраченное время.