You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Python脚本每日准点每分钟执行(规避sleep误差)

解决定时执行Python脚本的时间偏移与Windows任务计划配置问题

一、Python脚本内精准定时方案(无需DataFrame)

没必要用DataFrame管理时间点,直接通过计算下一次目标执行时间即可实现无偏移定时。核心逻辑是:每次脚本执行完成后,计算下一个每分钟05秒的时间点,再算出当前时间到该点的间隔,仅sleep这个间隔时长,彻底避免time.sleep(60)带来的偏移问题。

示例代码:

import datetime
import time
import your_script  # 导入你要执行的脚本模块

def run_at_target_second(target_second=5):
    while True:
        # 执行目标脚本
        your_script.main()  # 假设脚本入口为main函数
        
        # 获取当前时间
        now = datetime.datetime.now()
        # 计算下一个目标时间:直接取当前时间的下一分钟,秒数固定为target_second
        next_time = now.replace(minute=0, second=target_second, microsecond=0) + datetime.timedelta(minutes=1)
        # 如果当前分钟的目标时间还没到(比如脚本提前执行完),则取当前分钟的目标时间
        if now < now.replace(second=target_second, microsecond=0):
            next_time = now.replace(second=target_second, microsecond=0)
        
        # 计算需要休眠的时长,避免负数(比如脚本超时错过目标时间)
        sleep_seconds = max(0, (next_time - now).total_seconds())
        if sleep_seconds > 0:
            time.sleep(sleep_seconds)

if __name__ == "__main__":
    run_at_target_second(target_second=5)

二、Windows任务计划程序配置1分钟重复执行

Windows任务计划的重复间隔设置藏在高级选项里,具体步骤:

  • 打开「任务计划程序」,点击「创建任务」
  • 「常规」选项卡填写任务名称,按需勾选「不管用户是否登录都要运行」
  • 「触发器」选项卡点击「新建」:
    • 触发器类型选「每天」,设置起始时间为你需要的首个执行时间(比如2023-01-09 01:01:05)
    • 下拉到「高级设置」,勾选「重复任务间隔」,选择「1分钟」,设置「持续时间」为「24小时」(确保每天循环执行)
    • 勾选「已启用」后确定
  • 「操作」选项卡点击「新建」:
    • 操作选「启动程序」,程序路径填Python解释器路径(比如C:\Python39\python.exe)
    • 添加参数填你的脚本绝对路径(比如"C:\scripts\your_task.py")
  • 按需配置「条件」「设置」选项卡,最后确定完成创建

内容的提问来源于stack exchange,提问作者PyBoss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:45:26