如何设置Python代码每日定时运行 无需保持代码开启或电脑常醒
schedule库的运行要求
是的,schedule库必须让对应的Python进程保持持续运行才能正常触发定时任务。你代码中的while死循环作用就是持续检测任务触发条件,一旦关闭代码运行窗口、电脑休眠/关机导致进程被杀死,定时任务就会停止运行,这是你当前代码无法按预期执行的核心原因。
无需代码常驻、无需本地电脑持续唤醒的实现方案
1. 本地系统级定时任务(依赖本地电脑,无需保持代码开启)
你可以直接用操作系统自带的定时服务触发脚本,完全不需要用到schedule库,也不用手动保持代码运行:
- Windows系统:使用自带的「任务计划程序」,新建定时任务,触发条件设置为每日11:10,操作设置为启动你的Python脚本,还可以勾选「唤醒计算机运行此任务」选项,不需要电脑一直处于唤醒状态,到点会自动唤醒执行任务。
- Mac/Linux系统:使用自带的
crontab定时服务,写入定时规则10 11 * * * python3 /你的脚本完整绝对路径.py即可,同样支持系统唤醒执行配置。
注意:使用该方案时,你可以删掉现有代码中所有schedule相关的逻辑(包括schedule.every().day.at(...).do(job)以及后面的while循环部分),只保留job函数内的股票拉取业务逻辑和对应的依赖导入即可。
2. 云端部署(完全不依赖本地电脑状态)
如果不想受本地电脑开机状态限制,可以把代码部署到云端:
- 云服务器:入门级云服务器即可,把脚本上传后,要么用服务器的crontab定时触发,要么把你的schedule脚本配置为后台常驻服务,服务器24小时运行,不需要本地电脑开机。
- 云函数:各大云厂商都有带免费额度的云函数服务,把你的股票拉取代码上传后,配置定时触发规则为每日11:10执行即可,不需要自己维护服务器,成本极低。
内容的提问来源于stack exchange,提问作者baharak Al
相关产品推荐
相关产品推荐

