一、环境
以下演示使用的环境说明
Windows 操作系统:Win10
Python 环境:Python 3.7.7
二、脚本
准备Python脚本如下:
import sys
import datetime
format_time = datetime.datetime.now()
with open(file="forpy.log",mode="a",encoding="utf-8") as lf:
lf.write(str(format_time))
lf.write("\n")
lf.write(str(sys.argv))
lf.write("\n")
三、创建定时任务
1、打开【任务计划程序】
打开任务计划程序的方式有很多,这里通过快捷搜索比较方便,在任务栏搜索“任务计划程序”,然后打开
2、打开【创建任务】窗口
选择一个文件夹,右键点击“创建任务”,打开任务创建窗口。
存放任务计划的文件夹,你也可以自己创建一个
3、创建任务一一常规
任务名称为必填项,其他可以根据实际需要选填
4、创建任务一一触发器
在"触发器"tab界面,点击"新建",打开"新建触发器"窗口
- 开始任务:
下拉列表中有多种开始任务的策略,选择不同的选项,下方的填写项也会有变化。我这里就选择常用的 “按预定计划”;
设置:如图所示,表示从 2023/6/16 10:00:00 开始,每天执行一次
- 高级设置:
如图所示,表示 任务每隔5分钟执行一次,任务运行持续时间1天,时间到就停止所有运行的任务
- 状态:
已启用,如果未勾选,则该触发器不生效。
另外,可以为任务创建多个触发器,多个触发器之间是或关系,即 满足任何一个触发器条件 都会运行任务(不是所有触发器同时满足才运行任务)
5、创建任务一一操作
在"操作"tab界面,点击"新建",打开"新建操作"窗口
使用 python 命令 创建操作
使用 python 解释器 的绝对路径 创建操作
- 程序或脚本:
方式1:直接填写 python,前提是 python 解释器 路径已配置到了 Path 环境变量;
方式2:填写 python 解释器的 绝对路径,如我的 python 的路径为D:\Chen\MySoft\Python\Python3.7.7\python.exe
- 添加参数:
填写脚本路径及脚本需要的参数
1)如果"起始于"项未填写,则脚本路径需要绝对路径;
2)如果"起始于"项填写了,则脚本路径可以填绝对路径,也可以填相对路径(相对于"起始于"给的路径);
3)脚本如果需要参数,在脚本名称后空格,然后跟传参值即可,多个参数值之间也用空格隔开。
- 起始于:
程序或脚本打开时的工作路径
1)如果未填写,脚本需要给出绝对路径,且脚本代码内如果有使用文件或目录的地方,也需要使用绝对路径,否则会找不到对应文件或目录;
2)如果填写了,脚本可以使用相对路径,且脚本代码内如果有使用文件或目录的地方,也可以使用相对路径;
6、创建任务一一条件
创建任务执行的条件,这里的条件与触发器是且的关系,即 触发器和条件同时满足时才会执行任务
这里有一点需要注意,如果你的脚本需要联网才能正常运行,需要勾选"只有在以下网络连接可用时才启动",并且选择对应的网络。
7、创建任务一一设置
设置影响任务行为的其他设置
8、完成任务创建
设置完后,最后点击"确认",完成任务创建。
任务创建完成后,可以查看任务配置信息,如上图所示。
如果想要修改任务,可以点击右侧的"属性",打开任务编辑窗口进行相关修改。
任务会在设定的时间去执行,在"上次运行结果"可以看到最近一次任务执行的状态,会有对应的状态码及提示信息。
四、验证定时任务
验证定时任务执行的python脚本的情况
根据上边的配置,脚本运行成功后,会生成 D:\Chen\forpy.log 文件
由文件内容可以看出,第2个操作脚本未执行成功,原因如【5、创建任务一一操作】解释,未配置 “起始于”,且脚本中写日志的文件使用了相对路径。
我这里将脚本中的文件路径,改为绝对路径,再观察任务执行情况
脚本中文件使用绝对路径后,再观察任务执行情况,可以看到,两个操作对应的任务都执行成功了。
最后,如果想要停止定时任务,可以将任务"禁用",也可以直接删除任务