Постоянная проверка условия в фоне
Как сделать чтобы постоянно в фоновом режиме проверялось условие допустим: программа постоянно проверяла при этом всем выполняется другой блок кода, а как только условие верное мы его выполняем хоть даже оно на первой строке кода, а мы на 300
morozhenoye_upalo = False
if morozhenoye_upalo = True: print ("podnyat")
morozhenoye_upalo = True
Ответы (2 шт):
Автор решения: D. Violet
→ Ссылка
возможно вам подойдут threading
b_file.py:
from threading import Timer
class RepeatTimer(Timer):
def run(self):
while not self.finished.wait(self.interval):
self.function(*self.args, **self.kwargs)
def check():
print('check')
a_file.py:
from b_file import check
<...>
if __name__ == '__main__':
RepeatTimer(120, check).start() # функция check будет выполняться в отдельном потоке каждые 2 минуты
<...>
Автор решения: PSV
→ Ссылка
По мне, лучше сделать свойство и/ли функцию
Через функцию:
#via Function
fldIceCreamDropped = False;
def SetIceCreamDropped(Value):
fldIceCreamDropped = Value
if (fldIceCreamDropped):
print('Ахтунг ахтунг')
...
...
SetIceCreamDropped(True)
Через св-во:
#via Property
class APerson(object):
def __init__(self):
self.ficeCreamDropped = False;
def iceCreamDroppedSet(self, value):
print("Setting an Ice");
self.ficeCreamDropped = value
if ( self.ficeCreamDropped ):
print("Dropped !!!");
iceCreamDropped = property(None, iceCreamDroppedSet);
man = APerson()
...
...
man.iceCreamDropped = True
Соответственно, как только будет задано значение - именно в этот момент произойдёт обработка падения мороженого.
Значение не будет проверятся всегда (да и не должно), но отработает именно тогда, когда значение будет изменено.