Мне нужно выполнить функцию в python после того, как условие выполнено, но перед выполнением функции есть небольшая секундная задержка без блокировки другой программы в цикле, и задержка должна быть высокой точности.
IsЕсть ли способ сделать это?Я пытался использовать threading.Thread
и threading.Timer
, но задержка не такая точная.Вот мой код:
count = 2500
delay = 0.5 # delay before executing function
while True:
# Another program here
.......
if(count <= 2000):
if(found == 0): # Run once until count >= 2000 again
# Execute pressKey function
startThread = threading.Timer(delay, pressKey).start()
found = 1
if(count >= 2000):
if(found == 1): # Run once until count <= 2000 again
# Execute releaseKey function
endThread = threading.Timer(delay, releaseKey).start()
found = 0
Предположим, что переменная count
уменьшается до 0 и последовательно увеличивается до 2500, а if condition
- это не только те два, которые я упомянул, есть еще 6 if condition
аналогично приведенному выше коду с другой переменной count
.