Как заставить программу Python выполнять функцию при ее закрытии ⇐ Python

Программы на Python
Anonymous
Как заставить программу Python выполнять функцию при ее закрытии

Сообщение Anonymous »

Я хочу добавить в свою программу функцию автоматического сохранения при закрытии. Я обратился за помощью к GPT, и он предложил использовать SIGNAL или win32api для захвата сигнала закрытия, но оба могут успешно работать только при закрытии с помощью Ctrl+C. Я хочу, чтобы функция работала даже тогда, когда терминал программы закрыт.
Например, если вы забудете закрыть программу перед выключением компьютера, она также может автоматически выполнить функцию сохранения.
Вот что предлагает GPT

Код: Выделить всё

import signal
from time import sleep
def handle_exit(signum, frame):
# do something
with open('text.txt','w',encoding='utf-8') as f:
f.write(f"signal receive:{signum}")

signal.signal(signal.SIGINT, handle_exit)
signal.signal(signal.SIGTERM, handle_exit)

while 1:
sleep(1)
Я тестирую программу, когда я непосредственно закрываю окна программы, она не записывает в файл.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -is-closed

Вернуться в «Python»