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的路径
在这里插入图片描述

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

直接运行成功

在这里插入图片描述

定时运行失败

原因1:定时运行时,显示"任务尚未运行。(0x41303)。估计是权限没有取得最大,可以最高权限来运行,最好你账号有本机管理员权限。
在这里插入图片描述
原因2:插上电源后,程式马上自动运行。原来是我选的电源模式问题(以下是修改后的电源模式)
在这里插入图片描述
原因3:任务正在运行中,未做好下次准备。
以下这截图的程序任务表示上次任务未结束仍正在运行,此时派发新的任务可能会失败。
在这里插入图片描述
当截图的程序任务变成准备就绪时,就可以派发新的任务。
在这里插入图片描述
也可设定“停止现有实例”,来停止旧的任务,派发新的任务。
在这里插入图片描述
原因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肯定也无法实际发出邮件)
在这里插入图片描述
解决措施:经过google及实测发现,python和outlook的运行权限需要一致:比如,python脚本是以管理员权限运行的,则outlook也要以管理员权限运行。反之,python是以当前用户权限运行的,则outlook也用当前用户权限运行即可。(简单来说,就是以Season账号执行,不以最高权限执行即可。)
在这里插入图片描述

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在服务器上定时执行Python自动脚本,有几种方法可以实现。首先,你可以使用操作系统的定时任务功能,如Crontab(针对Linux系统)或Task Scheduler(针对Windows系统)。这些工具允许你设置特定的时间和频率来运行脚本。 另一种方法是使用Python定时任务框架,如APScheduler。APScheduler是一个基于Quartz的Python定时任务框架,它提供了多种定时任务的方式,包括基于日期、固定时间间隔和crontab类型的任务。你可以使用APScheduler在Python代码中创建定时任务,并在服务器上执行。 要使用APScheduler,你需要先安装它。可以使用pip工具执行以下命令来安装APScheduler: pip install apscheduler 安装完成后,你可以在你的Python脚本中导入APScheduler,并使用它的API来创建定时任务。例如,你可以使用APScheduler的CronTrigger来设置一个crontab类型的定时任务。以下是一个示例代码: from apscheduler.schedulers.blocking import BlockingScheduler def job(): # 这里是你要执行自动化测试脚本的代码 pass scheduler = BlockingScheduler() # 设置定时任务,每天早上8点执行 scheduler.add_job(job, 'cron', hour='8') # 开始调度 scheduler.start() 在这个例子中,我们创建了一个定时任务,使用cron风格的表达式来指定每天早上8点执行。你可以根据自己的需求修改cron表达式来设置不同的执行时间。 通过这种方式,你就可以使用APScheduler在服务器上定时执行Python自动脚本了。如果你想了解更多关于APScheduler的用法,可以参考官方文档或其他教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [linux系统下部署python自动化程序并配置Jenkins定时执行](https://blog.csdn.net/IceKing12138/article/details/123904549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [8种用Python实现定时执行任务的方案,一定有你用得到的](https://blog.csdn.net/u012767761/article/details/127024882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值