我有一个一直在后台运行的小脚本。每次跨过午夜,我都想做点什么。该脚本使用 sleep 函数,因此不确定它是否在 00:00:00 时间醒来。所以我想有这样的代码:
last_time= time.now()
while True:
    if last_time < midnight && midnight < time.now():
        # do stuff
        last_time= time.now()
    sleep(some time)
但我不知道如何在 if 语句中编写正确的行。
您可以使用该datetime模块来获取当前本地时间作为datetime对象。它很方便,因为该对象包含日期。只需检查何时发生变化即可。
import datetime
import time
last_day = datetime.datetime.now().day
while True:
    day = datetime.datetime.now().day
    if day != last_day:
        last_day = day
        do_your_work()
    time.sleep(some_time)