Форум сайта python.su
0
Вот текст программы:
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)
Отредактировано Leksiy (Окт. 27, 2018 11:43:22)
Офлайн
1
А у вас процесс предыдущего запуска программы завершается? Посмотрите через диспетчер задач.
Офлайн
0
Papa_SvinЭтот текст запускается в функции при нажатии на кнопку интерфейса основной программы. При первом нажатии на кнопу все отрабатывает нормально, при следующем - файл уже не удаляется и он будет постоянно занят. Если основную программу перезапустить, то файл освобождается и все повторяется заново.
А у вас процесс предыдущего запуска программы завершается? Посмотрите через диспетчер задач.
Офлайн
1
Leksiy
Для начала нужно определить, где именно блокируется файл. У вас файл проходит через две библиотеки - gTTS и pygame. Попробуйте переписать код так, чтобы избавиться по очереди от каждой из зависимостей.
Офлайн
61
file.close()
Офлайн
1
ZerGДа нет там такого метода, если Leksiy обозвал переменную file, она от этого файлом стала?
file.close()
Офлайн
61
если убрать
while pygame.mixer.music.get_busy(): continue
Офлайн