Windows下定期自动运行python脚本

在Windows 10 系统中都有一个自带的应用程序叫做“任务计划程序” (Task Scheduler)。通过这个程序就可以实现每日定时运行特定程序的功能。


image.png

1、打开任务计划程序。

敲击键盘的windows键,然后输入“任务计划程序”。可以看到出现了下面第二张截图的样子。

image.png

这个时候我们再敲击回车键就可以打开这个程序。


image.png

2、创建bat脚本

由于任务计划程序是没有办法直接运行python脚本。所以还需要准备一个bat脚本来运行python脚本。

首先在桌面空白位置右键新建一个文本文档。完成之后会发现文件夹中多出来一个“新建文本文档.txt”。

将文本文件命名为“获取股票当前时刻数据.bat”。“.bat”之前的文字都可以根据要实现的功能来命名。

然后用记事本打开“获取股票当前时刻数据.bat”文件,并在里面输入下面这行代码:

python "C:\path\to\your\python\script.py"

比如:


image.png

这行代码的格式是python(空格),后面加上要运行的python脚本的地址。即"python 文件地址\文件名"。

@echo off

python "C:\Users\Administrator\Desktop\test.py"

在截图的这个示例中文件地址为"C:\Users\Administrator\Desktop"。文件名为"test.py"。要注意里面的分隔符号都是“\” 而不是 “/”。

调试脚本的时候,最好在上面代码最后加上pause停顿,可以看到运行结果。因为有时候会运行失败,但是不知道具体是什么原因,所以加上这个停顿,就看到是不是脚本报错

@echo off

python "C:\Users\Administrator\Desktop\test.py"

pause

3、部署bat文件

准备好了bat文件就可以开始设置第一步中打开的任务计划程序,来部署bat文件。

1.创建一个新的文件夹来存放自己的自动化任务,方便管理
2.鼠标右键选择“创建基本任务”


image.png

然后输入每日自动运行任务的名称。如果该任务比较复杂,也可以在描述中输入该任务的具体介绍。完成之后点击下一步。


image.png

根据自己的需求选择时间
image.png

image.png

3、启动程序


image.png

选择要运行的bat文件,最重要的一点是起始于这个选项要填上bat文件所在的目录,否则涉及到文件读写的时候,可能会失败
通常是因为引发了FileNotFoundError异常导致程序结束,文件没找到或者路径有误。
为什么文件会不存在?
因为在任务计划程序运行程序是在电脑的用户目录下,比如C:User\buliqiao,而代码里面的文件路径使用的是相对路径的话,这样就会出现找不到文件的情况了。

image.png

4、完成


image.png

4、测试

发现任务计划程序中有了我们设置的“每日10:30更新股票数据”的自动运行任务。如果想要测试一下有没有正确设置,可以点击右边的运行按钮来试运行一下。

image.png

5、一些其他问题的原因

  1. windows计划任务执行,但是程序未执行
    运行结果显示操作成功完成0x0,或者一直是正在运行程序0x41301状态
    但此时(假设是执行脚本的计划)脚本未执行,或者没有执行结果
    那么可以认为是该脚本并没有跑
    排查点:
    1)本地安全策略→本地策略→用户权限分配→作为批处理作业登录中有没有你要执行的脚本或者其他程序的用户,如果没有请添加
    2)计划任务→属性→安全选项中的运行任务是,请使用下列用户账户,这个账户是不是有权限执行。保存的时候需要输入开机密码才行,如果电脑没有设置开机密码,需要设置开机密码后才能进行保存动作。
    注:administrator和Administrators和Administrator有区别


    image.png

2、路径问题
有的电脑系统需要进入脚本的文件夹,再运行py文件才行,所以bat的脚本应该修改为

@echo off
cd "C:\Users\Administrator\Desktop\test.py"
python "test.py"

pause
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容