Python在Windows系统下如何设置每隔3小时自动执行脚本
在网上查了一些资料,我尝试使用 windows 下的任务计划程序,但是,重复任务间隔只有 5 分钟~1 个小时的,请问每隔 3 小时如何设置呢?
Python在Windows系统下如何设置每隔3小时自动执行脚本
直接 python 里用循环执行 time.sleep 不就好了
在Windows上让Python脚本每隔3小时自动运行,最靠谱的方法就是用系统自带的“任务计划程序”。这玩意儿比用time.sleep(10800)在后台挂个脚本靠谱多了,后者万一电脑重启或者脚本崩了就全完了。
具体操作分两步:先准备好你的脚本,然后用任务计划程序把它挂起来。
1. 准备你的Python脚本
假设你的脚本叫 my_script.py,放在 D:\my_python_scripts 目录下。为了确保任何环境下都能运行,最好在脚本里用绝对路径,或者处理好工作目录。一个简单的示例如下:
# my_script.py
import datetime
import os
def main():
# 获取当前脚本所在目录,作为工作目录
script_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(script_dir)
# 这里是你的主要逻辑,比如打印时间和执行任务
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"[{current_time}] 任务开始执行...")
# 模拟你的任务,例如处理数据、访问API等
# ... 你的代码 here ...
print(f"[{current_time}] 任务执行完毕。")
if __name__ == "__main__":
main()
2. 使用Windows任务计划程序 这是核心步骤,通过图形界面设置:
- 创建基本任务:在开始菜单搜索“任务计划程序”并打开。右侧点击“创建基本任务”。
- 设置触发器和时间:给任务起个名字,触发器选“每天”(因为“重复任务”选项在每日触发里最方便)。开始时间随便设一个,比如当前时间。在“重复任务间隔”里,勾选“每隔”,然后下拉框选“3小时”,持续时间选“无限期”。
- 设置要启动的程序:操作选“启动程序”。在“程序或脚本”里,填写你的Python解释器完整路径(例如
C:\Users\YourName\AppData\Local\Programs\Python\Python310\python.exe,可以用where python在cmd里查)。在“添加参数”里,填写你的脚本完整路径(例如D:\my_python_scripts\my_script.py)。在“起始于”里,填写你的脚本所在目录(例如D:\my_python_scripts),这能保证脚本里的相对路径正常工作。 - 完成并测试:创建完成后,你可以在任务计划程序库中找到它。可以右键点击,选择“运行”来立即测试一次。
关键点总结:用任务计划程序,别用死循环+sleep。
好久没写 python ,可不可就搞一小时,然后设置一个计数器,算到三才执行程序
windows 的任务计划就可以。选重复间隔时间那里除了可以从下拉框选也可以手动输入。
我记得我之前用过 win 下的貌似和 at 一样的计划任务工具, win10 ,貌似 win 自带的,你去找下计划任务的命令, cmd 下就可以做到,很好用
计划任务,选 1 小时,然后把 1 改为 3
计划任务那里手动可以改的吧
定时任务框架 APScheduler
schtasks /create /sc minute /mo 60 /tn “test” /tr C:\1.exe
这是每 60 分钟
本质上还是计划任务
“下拉框选也可以手动输入”
“计划任务那里手动可以改的吧”
正解!我看是下拉框,就没有想过能改。。。谢谢啦!
计划任务 可以的
确实可以,是我大意了!谢谢大家回复!:)
windows 自带 定时任务 写个 bat 文件,在文件里面执行 python 就好。
我在“操作“里直接用 python.exe 文件路径 参数也添加了,虽然执行了,但是没有效果。。。写一个 bat ,执行 python ,就好了。
不管 Py 还是什么,脚本类的应该都可以采用“写一个 bat ,然后使用系统自带的计划任务实现定时重复执行”这个方法。
计划任务
linux 是 crontab
渣渣 crontab
那应该用啥?
用 systemd.timer 吧。
呃,不对, windows 是计划任务。
计划任务最靠谱,线程休眠挂掉的概率远高于系统定时执行
同理与 Linux 下也推荐使用 cron 来定时执行各种指定间隔的程序
计划任务
计划任务每分钟执行一次,每次 pyton 里面计数也行,判断时间也行,怎么都可以。

