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

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的路径

python如何自动运行某个软件功能 python怎么设置自动跑代码_管理员权限

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

直接运行成功

python如何自动运行某个软件功能 python怎么设置自动跑代码_python_02

定时运行失败

原因1:定时运行时,显示"任务尚未运行。(0x41303)。估计是权限没有取得最大,可以最高权限来运行,最好你账号有本机管理员权限。

python如何自动运行某个软件功能 python怎么设置自动跑代码_windows_03


原因2:插上电源后,程式马上自动运行。原来是我选的电源模式问题(以下是修改后的电源模式)

python如何自动运行某个软件功能 python怎么设置自动跑代码_windows_04


原因3:任务正在运行中,未做好下次准备。

以下这截图的程序任务表示上次任务未结束仍正在运行,此时派发新的任务可能会失败。

python如何自动运行某个软件功能 python怎么设置自动跑代码_windows_05


当截图的程序任务变成准备就绪时,就可以派发新的任务。

python如何自动运行某个软件功能 python怎么设置自动跑代码_管理员权限_06


也可设定“停止现有实例”,来停止旧的任务,派发新的任务。

python如何自动运行某个软件功能 python怎么设置自动跑代码_pycharm_07


原因4:定时发送邮件的代码经常出现报错“服务器运行错误”,会导致任务计划未执行。但用vscode手动跑是OK的。

失败原因是python和outlook的运行权限不一致,导致实例化第二个outlook对象对出错。

说三次!

python和outlook的运行权限不一致!

python和outlook的运行权限不一致!

python和outlook的运行权限不一致!

python如何自动运行某个软件功能 python怎么设置自动跑代码_pycharm_08


可参考下文How to connect to a running instance of Outlook from Python,该文章表示打开outlook会导致报错(不开outlook肯定也无法实际发出邮件)

python如何自动运行某个软件功能 python怎么设置自动跑代码_python如何自动运行某个软件功能_09


解决措施:经过google及实测发现,python和outlook的运行权限需要一致:比如,python脚本是以管理员权限运行的,则outlook也要以管理员权限运行。反之,python是以当前用户权限运行的,则outlook也用当前用户权限运行即可。(简单来说,就是以Season账号执行,不以最高权限执行即可。)

python如何自动运行某个软件功能 python怎么设置自动跑代码_python_10