在Python中循环,以便在达到某个特定时间时通知

时间:2016-09-10 03:22:47

标签: python-3.x datetime while-loop

我不知道如何在Python中使用while循环,以便在达到某个时间时通知我。

from datetime import datetime
import time
import os
now = datetime.now()
end = 1

while x == 1:
    global end
    if now.minute == *TIME*:
        end = 0

print ("Notification")

1 个答案:

答案 0 :(得分:0)

我对你的要求的解释:

import datetime, time

def delay(end_time):
  while datetime.datetime.now() < end_time:
    time.sleep(.1)  # wait .1 seconds before continuing

start_time = datetime.datetime.now()
end_time = start_time + datetime.timedelta(seconds=60) # add 60 seconds
delay(end_time)
print('done')

我对你的所作所为感到有些困惑。需要注意的是在while循环中使用小于而不是等于。如果你使用equals,它只会在你指定的确切时间评估代码时退出(这种情况不太可能发生,所以你将永远陷入循环)。但是,如果没有超过你可以在第一次退出时注意到你已经等了足够长的时间。您可以使用time.sleep(60)替换所有这些内容。