Ошибка: 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()

Заранее всем спасибо за потраченное время.


Ответы (0 шт):