我正在編寫一個Python程序,並且我想同時運行兩個while循環。我對Python很新,所以這可能是一個基本的錯誤/誤解。該項目正在建立一個樹莓派監控器,以確保它正在工作,如果沒有,請發送電子郵件給指定的收件人。一個循環將與用戶交互,並通過SSH實時響應發送給它的命令。並行while循環
while running is True:
user_input = raw_input("What would you like to do? \n").lower()
if user_input == "tell me a story":
story()
elif user_input == "what is your name":
print "Lancelot"
elif user_input == "what is your quest":
print "To seek the Holy Grail"
elif user_input == "what is your favorite color":
print "Blue"
elif user_input == "status":
if floatSwitch == True:
print "The switch is up"
else:
print "The switch is down"
elif user_input == "history":
print log.readline(-2)
print log.readline(-1) + "\n"
elif user_input == "exit" or "stop":
break
else:
print "I do not recognize that command. Please try agian."
print "Have a nice day!"
另一個循環將監視所有的硬件,並在出現錯誤時發送電子郵件。
if floatSwitch is True:
#Write the time and what happened to the file
log.write(str(now) + "Float switch turned on")
timeLastOn = now
#Wait until switch is turned off
while floatSwitch:
startTime = time.time()
if floatSwitch is False:
log.write(str(now) + "Float switch turned off")
timeLastOff = now
break
#if elapsedTime > 3 min (in the form of 180 seconds)
elif elapsedTime() > 180:
log.write(str(now) + " Sump Pump has been deemed broaken")
sendEmail("The sump pump is now broken.")
break
這兩個函數都很重要,我希望它們能夠並行運行,所以如何讓它們像這樣運行?感謝大家的幫助!
查看'multiprocessing'和/或'threading'模塊。 – roippi