我有一個python腳本,它使用while而且繼續運行。在while循環中,我有幾個if語句。一些if語句中有一個time.sleep
。在使用這一段時間後,我注意到第一個time.sleep
以下的所有if語句都在等待。如何在if語句中使用time.sleep並且不停止腳本的其餘部分
是否有辦法讓第一個time.sleep
以下的if語句運行,還是他們會一直等待?
我可以把所有的if語句放在最下面的time.sleep
,這樣所有if語句不會被time.sleep
執行。除非有另一種方法,否則我會嘗試以這種方式在飛行腳本上構建這種方法,如果可以的話。
while True:
temp1 = tempRead1()
if temp1 < 65:
GPIO.output(17, False)
else:
GPIO.output(17, True)
if temp1 > 70 and GPIO.input(17):
time.sleep(120)
GPIO.output(27, False)
else:
GPIO.output(27, True)
if temp1 > 72 and GPIO.input(17):
time.sleep(120)
GPIO.output(22, False)
else:
GPIO.output(22, True)
if temp1 > 80 and GPIO.input(17):
time.sleep(120)
GPIO.output(5, False)
else:
GPIO.output(5, True)
if temp1 < 55:
GPIO.output(6, False)
else:
GPIO.output(6, True)
time.sleep(60)
'time.sleep'暫停您的程序。這包括你所有的代碼。如果你想同時發生多種事情(比如一部分在睡覺而另一部分在做東西),你需要考慮線程或多處理。 – BrenBarn
...或者只是在while循環的頂部檢查當前時間,並使用它來決定輸出應該通過的時間。 – Marius