如何让Python在指定时间执行指令,且不使用函数实现
无函数实现每日固定时间触发分支逻辑
实现逻辑
直接通过主循环轮询当前系统时间,匹配到预设的目标时间点时自动进入对应if分支执行代码,全程无需自定义函数。
代码示例
import datetime import time # 自定义目标触发时间,可按需求修改时分秒参数 target_h = 10 target_m = 0 target_s = 0 while True: current_time = datetime.datetime.now() # 匹配固定时间点触发分支 if current_time.hour == target_h and current_time.minute == target_m and current_time.second == target_s: print("Hello world") # 休眠1秒避免同一秒内重复触发 time.sleep(1) # 轮询间隔设置为0.5秒,可根据精度需求调整,数值越大CPU占用越低 time.sleep(0.5)
优化提示
- 如果需要每天仅触发一次,可以新增变量记录已触发的日期,匹配时间时额外判断当前日期是否已触发过,避免单日多次执行
- 若对时间精度要求不高,可增大
time.sleep()的参数值,进一步降低程序运行时的CPU占用 - 如果程序被中断重启,重启前的触发时间点不会补触发,需要补触发逻辑的可以额外增加执行日志记录判断
内容的提问来源于stack exchange,提问作者Trees Jin
相关产品推荐
相关产品推荐

