Как сделать горячую клавишу внутри функции для выключения скрипта
Мне посоветовали скрипт для паузы и выключения скрипта, вот такой:
import keyboard
import datetime
import time
def zadacha1():
#print hello with date and time now
time.sleep(1)
print("отметка времени: ", datetime.datetime.now())
paused = False
exit_loop = False
def pause_loop():
global paused
paused = not paused
if paused:
print("\npaused = True\n")
else:
print("\npaused = False\n")
def exit_program():
global exit_loop
exit_loop = True
print("\nexit_loop = True\n")
# Устанавливаем сочетание клавиш для паузы
keyboard.add_hotkey('f5', pause_loop)
keyboard.add_hotkey('f6', exit_program)
while True:
if not paused:
# Ваш код для выполнения задачи
zadacha1()
if exit_loop:
print('\nПрограмма завершена\n')
break
Но проблема в том, что он не работает, если есть несколько функций.
То есть, вот так работает:
while True:
if not paused:
# Ваш код для выполнения задачи
zadacha1()
if exit_loop:
print('\nПрограмма завершена\n')
break
А вот так - нет:
while True:
if not paused:
# Ваш код для выполнения задачи
zadacha1()
zadacha2()
zadacha3()
zadacha4()
if exit_loop:
print('\nПрограмма завершена\n')
break
Проблема в том, что это объемные функции, и в них еще куча функций... а вот как сделать, чтобы стоп сработал в любой из функций,
то есть, пока функция zadacha1() выполняется, горячая клавиша не реагирует... грубо говоря, zadacha1() может выполняться 4-6 минут... и вот мне надо, чтобы в любое время сработал стоп.