Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 27, 2018 11:18:00

Leksiy
Зарегистрирован: 2018-10-27
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

Вот текст программы:

 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 и удалить его после проигрывания?

Отредактировано Leksiy (Окт. 27, 2018 11:43:22)

Офлайн

#2 Окт. 27, 2018 11:45:08

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

А у вас процесс предыдущего запуска программы завершается? Посмотрите через диспетчер задач.

Офлайн

#3 Окт. 27, 2018 11:50:34

Leksiy
Зарегистрирован: 2018-10-27
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

Papa_Svin
А у вас процесс предыдущего запуска программы завершается? Посмотрите через диспетчер задач.
Этот текст запускается в функции при нажатии на кнопку интерфейса основной программы. При первом нажатии на кнопу все отрабатывает нормально, при следующем - файл уже не удаляется и он будет постоянно занят. Если основную программу перезапустить, то файл освобождается и все повторяется заново.

Офлайн

#4 Окт. 27, 2018 13:25:11

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

Leksiy
Для начала нужно определить, где именно блокируется файл. У вас файл проходит через две библиотеки - gTTS и pygame. Попробуйте переписать код так, чтобы избавиться по очереди от каждой из зависимостей.

Офлайн

#5 Окт. 28, 2018 11:05:34

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

file.close()



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Окт. 28, 2018 11:25:59

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

ZerG
file.close()
Да нет там такого метода, если Leksiy обозвал переменную file, она от этого файлом стала?

Офлайн

#7 Окт. 28, 2018 11:30:21

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Почему файл не удаляется во второй раз

если убрать

 while pygame.mixer.music.get_busy():
    continue
что происходит?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version