Python怎么计算时间差后睡眠指定时间

比如我需要程序在次日08:30执行,该怎么处理

1.获取现在的时间
2.计算距离明天08:30的时间差
3.time.sleep

我打算这样处理,具体该怎么操作呢?


while True:
    time_now = time.strftime("%H:%M:%S",time.localtime())
    if time_now == "08:30:00":
        do()

可以不管时间差什么的,直接到时间开始执行

你确定你要你的程序挂载这么长时间吗?


import sched
import time
from datetime import datetime
# 初始化sched模块的 scheduler 类
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
schedule = sched.scheduler(time.time, time.sleep)
# 被周期性调度触发的函数
def printTime(inc):
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    schedule.enter(inc, 0, printTime, (inc,))
# 默认参数60s
def main(inc=60):
    # enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,
    # 给该触发函数的参数(tuple形式)
    schedule.enter(0, 0, printTime, (inc,))
    schedule.run()
# 10s 输出一次
main(10)

等这么久,与其让python脚本sleep,不如用计划任务,到点儿启动脚本