Windows定时自动执行python脚本2(自动运行问题已解决)

参考以下步骤设定任务计划程序

参考以下链接https://blog.csdn.net/weixin_39701288/article/details/109928045
1.打开python开发工具IDLE,新建一个‘test.py’文件,并写代码如下:

import time

with open('test.txt', 'a+') as f:

f.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())+' aaa\n')

2.接下来创建一个定时任务来执行这个脚本,右键我的电脑,点击管理
3.在弹出的计算机管理对话框点击任务计划程序–创建基础任务
4.在弹出的创建基本任务向导输入名称和描述,这个可以自己取个名字和描述,点击下一步
5.在触发器页面选择,脚本执行的时间,选择每天,点击下一步
6.设置每天触发的时间,点击下一步
7.在操作页面,选择启动程序,点击下一步
8.这三个参数,程序或脚本选择python.exe程序,参数是要使用py脚本,起始于是python.exe的路径
Windows定时自动执行python脚本2(自动运行问题已解决)_第1张图片

9.到指定时间查看test.txt文本,写入了内容,计划任务执行成功

直接运行成功

Windows定时自动执行python脚本2(自动运行问题已解决)_第2张图片

定时运行失败

原因1:定时运行时,显示"任务尚未运行。(0x41303)。估计是权限没有取得最大,可以最高权限来运行,最好你账号有本机管理员权限。
在这里插入图片描述
原因2:插上电源后,程式马上自动运行。原来是我选的电源模式问题(以下是修改后的电源模式)
Windows定时自动执行python脚本2(自动运行问题已解决)_第3张图片
原因3:任务正在运行中,未做好下次准备。
以下这截图的程序任务表示上次任务未结束仍正在运行,此时派发新的任务可能会失败。
在这里插入图片描述
当截图的程序任务变成准备就绪时,就可以派发新的任务。
在这里插入图片描述
也可设定“停止现有实例”,来停止旧的任务,派发新的任务。
Windows定时自动执行python脚本2(自动运行问题已解决)_第4张图片
原因4:定时发送邮件的代码经常出现报错“服务器运行错误”,会导致任务计划未执行。但用vscode手动跑是OK的。
失败原因是python和outlook的运行权限不一致,导致实例化第二个outlook对象对出错。
说三次!
python和outlook的运行权限不一致!
python和outlook的运行权限不一致!
python和outlook的运行权限不一致!

可参考下文How to connect to a running instance of Outlook from Python,该文章表示打开outlook会导致报错(不开outlook肯定也无法实际发出邮件)
Windows定时自动执行python脚本2(自动运行问题已解决)_第5张图片
解决措施:经过google及实测发现,python和outlook的运行权限需要一致:比如,python脚本是以管理员权限运行的,则outlook也要以管理员权限运行。反之,python是以当前用户权限运行的,则outlook也用当前用户权限运行即可。(简单来说,就是以Season账号执行,不以最高权限执行即可。)
Windows定时自动执行python脚本2(自动运行问题已解决)_第6张图片

你可能感兴趣的:(自动化办公,python,windows,pycharm)