python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

5521b9dde4b8c5ff373fecb2e53ba156.png

环境:

Win7系统,外网未连接,主机接有返听音箱。

准备:

这里明显要用语音合成,既然是离线状态,肯定没法调用百度AI之类的接口。装一个离线语音包又有点兴师动众,所以干脆我们就用微软自带的Speech SDK吧。注意,很多Ghost版的系统,可能去掉了这块功能,需要重新安装。经过上网学习,我们发现只需安装pyttsx3这个库。

思路:

把所有的铃声,放到一个列表里。然后遍历列表,找到当前时间对应的下一个打铃的时间。然后判读相差的“分”数(并没有精确到秒,只是是大致提醒),调用语音合成输出。

点击加群即可免费获取Python学习资料

资料就放在群文件里等你来拿

编码:

import datetime,time
import pyttsx3engine = pyttsx3.init()
ringTimes=["8:30","9:00","11:00","14:00","14:30","15:30",
"15:55","16:20","17:20"]def alarmTime():currTime=datetime.datetime.now()h,m,s=currTime.hour,currTime.minute,currTime.secondfor t in ringTimes:t2=int(t.split(':')[0])*60+int(t.split(':')[1])t1=h*60+mif t1<t2 and t2-t1<=30 and m%5==0:tip="距离下一个铃声还有不到%d分钟" % (t2-t1)print(tip)engine.say(tip)engine.runAndWait()break
while True:alarmTime()time.sleep(60)

效果:

效果就是铃声前N分钟,每隔m分钟,比如铃声前半小时每5分钟提示一次。这些,都可以自由修改。于是就听到我们预想的播报啦。

你也可以适当修改一下生成的语言语速:

d365b44236a49b5bf6c2c3b8ea486bc7.png

后记:

写这些小玩意,实际是Python比较专长的东西。毕竟有很多现成的库可以直接调用,写起来也非常简单,只需要简单组织一下逻辑就好。例如每隔一分钟去查询是不是5的倍数的分,然后大致的提醒我们,这就足够了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中map组件

分享一个比较好用的基于百度地图的vue组件。也有react版本的&#xff0c;可以自行选择。 分享链接&#xff1a;点击转载于:https://www.cnblogs.com/yunnex-xw/p/9996600.html

MATLAB中mean的用法

1、函数功能 求数组的平均数或者均值 2、使用方法 ① M mean(A) 返回沿数组中不同维的元素的平均值。 如果A是一个向量&#xff0c;mean(A)返回A中元素的平均值。 如果A是一个矩阵&#xff0c;mean(A)将其中的各列视为向量&#xff0c;把矩阵中的每列…

Linux中profile、bashrc、bash_profile之间的区别和联系

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 英文描述为&#xff1a; # /etc/profile # System wide environment and startup programs, for login setup # Functions and alias…

python selenium 等待元素出现_Python Selenium等待加载几个元素

考虑到Mr.E.和Arran的评论&#xff0c;我在CSS选择器上完全遍历了列表。棘手的部分是关于我自己的列表结构和标记(更改类等)&#xff0c;以及动态创建所需的选择器并在遍历期间将它们保存在内存中。我通过搜索任何未加载状态的内容来处理等待几个元素的问题。您也可以使用“&am…

网络操作系统第242页作业

1.简述电子邮件的工作原理。 答&#xff1a;用户编辑的E mail被转换成一个标准的邮件格式&#xff0c;这个邮件格式中可以包含各种样式的文件&#xff0c;如图像&#xff0c;声音&#xff0c;可执行程序等。邮件的内容以各种编码方式转换成ASCII码的形式&#xff0c;以便在网络…

MATLAB中median函数的用法

1.功能 求矩阵的中间值。 2.格式 ①median(M) 每一列返回一个值,为M该列的从大到小排列的中间值. ②median(M,dim) dim为1&#xff0c;2。其中1表示按每列返回一个值,为该列从大到小排列的中间值,, 2表示按每行返回一个值,为该行从大到小排列的中间值. 注意:如果行或列的个数为…

测试驱动开发 测试前移_测试驱动陷阱,第2部分

测试驱动开发 测试前移单元测试中单元的故事 在本文的上半部分 &#xff0c;您可能会看到一些不好但很受欢迎的测试示例。 但是我不是一个专业的批评家&#xff08;也被称为“巨魔”或“仇恨者”&#xff09;&#xff0c;没有任何建设性的话就抱怨。 多年的TDD教给我的不仅仅是…

CentOS6.3 重启后/etc/resolv.conf 被还原解决办法

今天一台服务器上不了网&#xff0c;设置了nameserver&#xff0c;重启后/etc/resolv.conf文件就被自动还原了&#xff0c;最后发现是被Network Manager修改了。 解决方法&#xff1a; 停止Network Manager服务 service NetworkManager stop重启网络服务 /etc/init.d/network r…

react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)

React是近几年来前端项目开发非常火的一个框架&#xff0c;其背景是Facebook团队的技术支持&#xff0c;市场占有率也很高。很多初学者纠结一开始是学react还是vue。个人觉得&#xff0c;有时间的话&#xff0c;最好两个都掌握一下。从学习难度上来说&#xff0c;react要比vue稍…

MATLAB中find函数详解

&#xff08;转自http://blog.sina.com.cn/emily250886&#xff09; 功能&#xff1a; 寻找非零元素的索引和值语法&#xff1a;1. ind find(X) 2. ind find(X, k) 3. ind find(X, k, first) 4. ind find(X, k, last) 5. [row,col] find(X, ...) 6. [row,col,v] f…

Oracle Service Bus简介

我们正在为电信提供商设计一个新系统&#xff0c;在该系统中&#xff0c;我们研究了用作企业服务总线的Oracle服务总线&#xff08;OSB&#xff09;。 对我来说&#xff0c;第一个优点是它提供了惊人的工具支持。 通过将其捆绑为Oracle SOA套件&#xff0c;Oracle已将其所有企业…

VS2008中源文件与模块生成时的文件不同,仍要让调试器使用它吗

解决办法: 1.在工具-> 选项-> 调试-> 常规 里 把“要求源文件和版本匹配”的勾勾去掉 然后去掉“地址级的调试”的勾勾&#xff08;这样就不会出现反汇编代码了&#xff09; 然后重新引用 2.直接把WEB项目下面的Bin文件夹下的BLL全部删除。 3.若出现如下的警告信息 仔…

Linux中的15个‘echo’ 命令实例

作者&#xff1a; tecmint Avishek Kumar 译者&#xff1a; LCTT geekpi | 2014-10-03 12:42 评论: 4 收藏: 5 分享: 5 echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令&#xff0c;通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或…

springboot redis 断线重连_Redis高可用方案实现

redis中为了实现高可用&#xff08;High Availability&#xff0c;简称HA&#xff09;&#xff0c;采用了如下两个方式&#xff1a;主从复制数据。采用哨兵监控数据节点的运行情况&#xff0c;一旦主节点出现问题由从节点顶上继续进行服务。主从复制redis中主从节点复制数据有全…

罗德里格斯(Rodrigues)旋转向量与矩阵的变换

在做双目立体视觉深度图像生成的时候&#xff0c;遇到旋转向量&#xff08;1x3&#xff09;与旋转矩阵&#xff08;3x3&#xff09;的概念&#xff0c;得知二者可以通过罗德里格斯相互转化。 1.旋转的表示 处理三维旋转问题时&#xff0c;通常采用旋转矩阵的方式来描述旋转变换…

Mongodb 分片与副本集

测试搭建192.168.3.110mongos 30000&#xff0c;30001,30002config 40000,40001,40002shard1 50001,50002,50003shard2 50004,50005,50006,shard3 50007,50008,50009[rootmysql-slave10 data]# mkdir -p /data/config/1/data[rootmysql-slave10 data]# mkdir -p /data/config/2…

python必读5本书籍_免费下载!5本从Python入手机器学习的必备电子书!(附链接)...

大数据文摘授权转载自数据派THU作者&#xff1a;Richard Gall编译&#xff1a;车前子、丁楠雅今天&#xff0c;机器学习已成为软件工程所有领域中最重要的发展趋势之一。这门技术不再局限于研究者和数据分析者&#xff0c;从网络安全到网络开发机&#xff0c;器学习都至关重要。…

error c4996: 'fopen' This function or variable may be unsafe如何解决

1.问题描述 VS2013OPENCV249&#xff0c;不止一次遇到以下类似错误&#xff1a; error C4996: fopen: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.d:\open…

JavaParser中AST节点的观察者

我们离JavaParser 3.0的第一个候选发布版本越来越近。 我们添加的最后一项功能是支持观察抽象语法树的所有节点的更改。 当我为此功能编写代码时&#xff0c;我收到了Danny van Bruggen&#xff08;又名Matozoid&#xff09;和Cruz Maximilien的宝贵反馈。 因此&#xff0c;我使…

nc命令详解

NetCat&#xff0c;在网络工具中有“瑞士军刀”美誉&#xff0c;其有Windows和Linux的版本。因为它短小精悍&#xff08;1.84版本也不过25k&#xff0c;旧版本或缩减版甚至更小&#xff09;、功能实用&#xff0c;被设计为一个简单、可靠的网络工具&#xff0c;可通过TCP或UDP协…