Найти - Пользователи
Полная версия: Почему файл не удаляется во второй раз
Начало » Python для новичков » Почему файл не удаляется во второй раз
1
Leksiy
Вот текст программы:
 file = gTTS(text = text, lang = lang)
filename = 'D:\english.mp3'
file.save(filename)
pygame.mixer.init()
pygame.mixer.music.load(filename)
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
    continue
pygame.mixer.music.stop()
pygame.mixer.quit()
os.remove(filename)
При первом исполнении кода в программе файл создается, проигрывается и удаляется. При втором исполнении файл уже не удаляется из-за того что он занят. Почему? Или как проиграть mp3 файл в Windows и удалить его после проигрывания?
Papa_Svin
А у вас процесс предыдущего запуска программы завершается? Посмотрите через диспетчер задач.
Leksiy
Papa_Svin
А у вас процесс предыдущего запуска программы завершается? Посмотрите через диспетчер задач.
Этот текст запускается в функции при нажатии на кнопку интерфейса основной программы. При первом нажатии на кнопу все отрабатывает нормально, при следующем - файл уже не удаляется и он будет постоянно занят. Если основную программу перезапустить, то файл освобождается и все повторяется заново.
Papa_Svin
Leksiy
Для начала нужно определить, где именно блокируется файл. У вас файл проходит через две библиотеки - gTTS и pygame. Попробуйте переписать код так, чтобы избавиться по очереди от каждой из зависимостей.
ZerG
file.close()
Papa_Svin
ZerG
file.close()
Да нет там такого метода, если Leksiy обозвал переменную file, она от этого файлом стала?
ZerG
если убрать
 while pygame.mixer.music.get_busy():
    continue
что происходит?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB