在 Windows 系统下可以通过【任务计划程序】设置定时任务,在【计算机管理】–> 【系统工具】–> 【任务计划程序】中的【创建任务】创建定时任务:
创建任务的窗口如下所示:
在【常规】中的【安全选项】选择【不管用户是否登录都要运行】时,可以使定时任务在锁屏时也能运行。
【触发器】中点击【新建】可以设置定时任务执行时间和周期。
在【操作】选项卡中点击【新建】,可以设置所以执行的 Python 程序。例如需要定时执行的脚本为:
python test_job.py
在【程序和脚本】中输入python解释器的完整路径,在【添加参数(可选)】中输入 test_job.py
的完整路径。如果 test_job.py
需要传入参数,则同命令行一样添加在后面即可。【起始于】用于设置执行目录。如下图所示:
这里使用 pythonw.exe 程序在执行 python 代码时不会弹出IDE窗口。
python 的一大优势时可以使用丰富的第三方库,有时需要配置特定的python虚拟环境,而上面的设置只是调用了最基本的python解释器,一些依赖的库无法导入。这时需要切换 Python 虚拟环境,假设依赖的conda环境名为 test_env
。将主程序代码文件命名为 main.py
,所以资源和脚本保存在 D:\test_dir\
文件夹下。此时定时脚本 test_job.py
用于却换 conda 环境,并执行 main.py
脚本。
test_job.py
脚本的代码为:
import os
cmd = '''C:\Users\xinan\anaconda3\condabin\conda activate test_env & \
python main.py
'''
os.system(cmd)
上述代码实现了在python中连续执行多行 cmd 命令。