[windows10]设置任务计划程序定时执行却不执行python脚本的原因

一、触发器设置的陷阱

只是发现了解决方法,为啥不知道。
在Windows10里面,触发器持续时间不能设置成无限期。
一个可以定时执行的有效设置如下(如果选择为无限期则无法运行):
在这里插入图片描述

然而在WindowsServer 2012R2 里面设置成无限期就可以运行,不知道为什么。

二、附上一个在windows10中定时静默执行python程序的设置:

平时执行程序是python.exe a.py,然而,要想python程序静默执行,需要用pythonw.exe a.pyw。pythonw.exe就在python.exe的同级目录下,直接把a.py后缀改成pyw即可,这样执行的时候就不会跳出来cmd窗口了。缺点是你也看不到输出,但是可以在程序里把输出打印到txt文件里面(为了避免输出太多(比如定时一分钟执行一次的程序),输出的时候可以选择每半小时、一小时打印一次),如:

# 每1小时输出一次运行成功结果
# 如果运行失败的话,推荐可以不设置定时,方便查看错误
if time.localtime().tm_min % 60 == 0:
 with open(LogPath + '/apyw.log', 'a', encoding='utf-8') as f:
     f.write("[{}]==>程序运行良好!\n".format(datetime.datetime.strftime(datetime.datetime.now(),"%Y-%m-%d %H:%M:%S")))
     f.close()

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点击完成之后可以打开属性,然后按照文首所说进行触发器的详细设置。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
任务计划程序可以用来定期执行Python脚本。在Linux系统上,可以使用crond结合命令行实现。另外一种方式是直接使用Python。常见的Python定时任务的实现方式有以下几种: 1. 使用第三方库schedule:该库可以让你以一种简单的方式在指定时间间隔内执行任务。你可以使用schedule库的every()方法来设置任务执行频率,然后使用do()方法指定要执行任务函数。最后,使用run_pending()方法来运行任务。可以通过调用cancel_job()方法来取消任务。 2. 使用第三方库APScheduler:APScheduler是一个功能强大的Python定时任务库,支持多种方式的定时任务配置,如固定时间间隔、指定时间点、定时循环等。通过定义一个定时任务函数,然后使用APScheduler的add_job()方法来添加任务,最后使用start()方法来启动任务。 3. 使用Python内置的模块time和threading:你可以使用time模块的sleep()方法来设置任务执行间隔,然后使用threading模块创建一个线程来执行任务函数。通过循环调用任务函数并在每次执行后暂停一段时间来实现定时任务。 总结来说,任务计划程序可以通过使用Python的第三方库(如schedule和APScheduler)或者使用Python的内置模块(如time和threading)来执行Python脚本。具体选择哪种方式取决于你的需求和偏好。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python 实现定时任务的八种方案!](https://blog.csdn.net/chinesehuazhou2/article/details/120147964)[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: 100%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值