Найти - Пользователи
Полная версия: Обработка закрытия программы
Начало » Python для новичков » Обработка закрытия программы
1
Podarok
Как освободить ресурсы при закрытии программы? Допустим есть файл, который
долго записывается. Пользователь закрывает программу, не дождавшись завершения
записи. Как обработать эту ситуацию и выполнить какие-то действия перед
закрытием программы? Допустим записать в файл последней строчкой “Запись была
прервана” и выполнить file.close()
 import time
file = open(r"D:\test.txt", "w")
for i in range(100):
    file.write(str(i))
    time.sleep(0.1)
file.close()
doza_and
На это есть try…finally
Но особо на это не рассчитывайте. Если вырубить питание то не успеете вы ничего записать. В винде например закрытие по ctrl+C обрабатывается в finally блоке а закрытие по крестику нет.

Освобождением ресурсов занимается ядро операционной системы….

Надежнее дать пользователю кнопку - прервать программу да еще показать индикатор выполнения. Тогда есть шанс что пользователь ее нажмет и вы сможете сделать все что вам нужно а потом сами закроете программу.
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