Есть ли функция Python, которую я могу использовать для условия типа "If condition is still true after (3) seconds then dosomething"(
Я запускаю opencv через django и пытаюсь сохранить данные в sqlite.
Я пытался использовать sleep() в библиотечном времени, но это только мешает моему веб-приложению работать.
color = (0, 0, 255)
time.sleep(3)
if color == (0, 0, 255):
save time
У вас есть больше вариантов решения этой проблемы, здесь и здесь - вот некоторые примеры.
Пример со временем и циклом while:
import time
def your_func():
#your code:
#if color == (0, 0, 255):
#save time
max_wait_time = 3.0 #the time you want in seconds
start_time = time.time()
while True:
if (time.time() - start_time) >= max_wait_time:
your_func()
break
Пример с Timer():
from threading import Timer
def your_func():
#your code:
#if color == (0, 0, 255):
#save time
t = Timer(3.0, your_func)
t.start()