一、环境

以下演示使用的环境说明
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界面,点击"新建",打开"新建触发器"窗口
触发器tab页面
新建触发器

  • 开始任务:
    下拉列表中有多种开始任务的策略,选择不同的选项,下方的填写项也会有变化。我这里就选择常用的 “按预定计划”;
    设置:如图所示,表示从 2023/6/16 10:00:00 开始,每天执行一次
  • 高级设置:
    如图所示,表示 任务每隔5分钟执行一次,任务运行持续时间1天,时间到就停止所有运行的任务
  • 状态:
    已启用,如果未勾选,则该触发器不生效。

另外,可以为任务创建多个触发器,多个触发器之间是或关系,即 满足任何一个触发器条件 都会运行任务(不是所有触发器同时满足才运行任务)

5、创建任务一一操作

在"操作"tab界面,点击"新建",打开"新建操作"窗口
操作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 文件
forpy.log 文件内容
由文件内容可以看出,第2个操作脚本未执行成功,原因如【5、创建任务一一操作】解释,未配置 “起始于”,且脚本中写日志的文件使用了相对路径。

我这里将脚本中的文件路径,改为绝对路径,再观察任务执行情况
脚本中文件路径使用绝对路径
脚本中文件使用绝对路径后,再观察任务执行情况,可以看到,两个操作对应的任务都执行成功了。
forpy日志

最后,如果想要停止定时任务,可以将任务"禁用",也可以直接删除任务。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐