查看原文
其他

用Python写了一个不起床让你后悔的闹钟

点击上方 "Python人工智能技术关注,星标或者置顶
22点24分准时推送,第一时间送达
后台回复“大礼包”,送你特别福利

编辑:乐乐 | 来自:blog.csdn.net/jiahuiandxuehui/article/details/119054251

Pythn人工智能技术(ID:coder_experience)第687期推文

上一篇:程序员在工作电脑存64G不雅文件,被公司开除后索赔41万,结果…


正文


 大家好,我是Python人工智能技术

导读

哎 😡 ,别提了自从回到家整个人都懒散了,总被人嫌弃不说还觉得生活没有了盼头,还好在社区认识了一些大佬让我想重新来过 做回自己,不在做小丑于是乎我就想用个东西来提醒我别睡懒觉,然后这篇文章就诞生了。来吧看看今天的故事。

闹钟

有人说程序员的日常就是反复造轮子,我觉得能在原来的基础上玩出新花样来帮到一些人,做这些事还是挺有趣的这篇文。没有什么高深的学问就是给大家在枯燥的夏日带来一点欢愉。

使用的模块

import timefrom datetime import datetimefrom playsound import playsound#用来播放铃声的import pyttsx3

如果你对import pyttsx3不太熟悉的话可以学习一下,就是一个文字朗读模块,一会我们将要用到。


首先我们先来设置闹钟的的预定时间

alarm_time = input("输入要设置的闹钟时间:HH:MM:SS\n") alarm_period=input("请输入要设置的时期(AM或PM):\n") alarm_hour=alarm_time[0:2]#获取小时 alarm_minute=alarm_time[3:5]#获取分钟 alarm_seconds=alarm_time[6:8]#多少秒 alarm_period = alarm_period.upper()     print("设置成功正在运行,祝您休息愉快....zzZZ..")


设置成功后闹钟就在运行了下面给大家展示一下效果片段

音频:

一个能帮你分手或辞职的闹钟

while flag: now = datetime.now() current_hour = now.strftime("%I") current_minute = now.strftime("%M") current_seconds = now.strftime("%S") current_period = now.strftime("%p") if(alarm_period==current_period): if(alarm_hour==current_hour): if(alarm_minute==current_minute): if(alarm_seconds==current_seconds): print("Wake Up!!!") playsound('1.mp3') ## 铃声名字最好不要带中文,会节码失败 if(int(now.strftime("%M"))-int(alarm_minute)==10):#延迟十分钟在叫一次 playsound('1.mp3') time.sleep(60) pp.say('还不醒?那你可别怪我了都是为你好呀。这就去帮你辞职!哈哈哈哈')                            pp.runAndWait()

原理很简单,就是一堆判断大概是这样的
🌀
🐢
🌀

辞职或分手(肯定用的着,建议记录一下)

这里我们用到Python SMTP发送邮件
简单介绍一下

import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )参数说明:
host: SMTP 服务器主机。你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。


Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])参数说明:
from_addr: 邮件发送者地址。to_addrs: 字符串列表,邮件发送地址。msg: 发送消息这里要注意一下第三个参数,msg 是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意 msg 的格式。这个格式就是 smtp 协议中定义的格式

因为我们要用到QQ邮箱smtp服务发送邮件下面我们也简单介绍一下获取授权码的方法
1·这里找到QQ邮箱




下面进行代码展示

my_sender = '2073969408@qq.com' # 发件人邮箱账号 my_pass = '***' # 授权码 my_user = '2073969408@qq.com' # 收件人邮箱账号,我这边发送给自己
def mail(): ret = True try: msg = MIMEText('想睡觉,不干了', 'plain', 'utf-8') # 填写内容 msg['From'] = formataddr(["我是肥学,老子干了", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 msg['To'] = formataddr(["肥学", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 msg['Subject'] = "辞职报告" # 邮件的主题,也可以说是标题你也可以写成分手报告
server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器 server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码 server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server.quit() # 关闭连接 except Exception: # 如果 try 中的语句没有执行,则会执行下面的 ret=False ret = False return ret
ret = mail() if ret: print("邮件发送成功") else:        print("邮件发送失败")

结果:我这个是自己给自己发了一个的测试
🌀
🐢
🌀

暂时还没有工作的同学可以同样的方法把邮箱改成你对象的邮箱,嘻嘻嘻。这不就可以治治你的懒床了吗。另外搜索公众号顶级架构师回复关键字"面试”获取一份惊喜礼包。

🌀
🐢
🌀
好了下面贴出全部代码:

import timefrom datetime import datetimefrom playsound import playsoundimport pyttsx3
import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddr
def alarm(): pp = pyttsx3.init() alarm_time = input("输入要设置的闹钟时间:HH:MM:SS\n") alarm_period=input("请输入要设置的时期(AM或PM):\n") alarm_hour=alarm_time[0:2]#获取小时 alarm_minute=alarm_time[3:5]#获取分钟 alarm_seconds=alarm_time[6:8]#多少秒 alarm_period = alarm_period.upper()
print("设置成功正在运行,祝您休息愉快....zzZZ..") flag=True while flag: now = datetime.now() current_hour = now.strftime("%I") current_minute = now.strftime("%M") current_seconds = now.strftime("%S") current_period = now.strftime("%p") if(alarm_period==current_period): if(alarm_hour==current_hour): if(alarm_minute==current_minute): if(alarm_seconds==current_seconds): print("Wake Up!!!") playsound('1.mp3') ## 铃声名字最好不要带中文,会节码失败 if(int(now.strftime("%M"))-int(alarm_minute)==10):#延迟十分钟在叫一次 playsound('1.mp3') time.sleep(60) pp.say('还不醒?那你可别怪我了都是为你好呀。这就去帮你辞职!哈哈哈哈') pp.runAndWait() return 1
def mail_qq(): my_sender = '2073969408@qq.com' # 发件人邮箱账号 my_pass = '***' # 授权码 my_user = '2073969408@qq.com' # 收件人邮箱账号,我这边发送给自己
def mail(): ret = True try: msg = MIMEText('想睡觉,不干了', 'plain', 'utf-8') # 填写内容 msg['From'] = formataddr(["我是肥学,老子干了", my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 msg['To'] = formataddr(["肥学", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 msg['Subject'] = "辞职报告" # 邮件的主题,也可以说是标题你也可以写成分手报告
server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器 server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码 server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server.quit() # 关闭连接 except Exception: # 如果 try 中的语句没有执行,则会执行下面的 ret=False ret = False return ret
ret = mail() if ret: print("邮件发送成功") else: print("邮件发送失败")
if __name__ == '__main__': a=alarm() if a==1:#如果闹钟没关闭就发邮件        mail_qq()

最重要的事

好了今天的分享就到这里,绿水青山总是情,给个点赞行不行 😃 😗 😃 感谢各位大佬了。



你还有什么想要补充的吗?

免责声明:本文内容来源于网络,文章版权归原作者所有,意在传播相关技术知识&行业趋势,供大家学习交流,若涉及作品版权问题,请联系删除或授权事宜。


技术君个人微信


添加技术君个人微信即送一份惊喜大礼包


→ 技术资料共享

→ 技术交流社群



--END--


往日热文:

2021 年最佳开源软件榜单,Python 高性能框架 FastAPI 上榜了!

2500块接的外包Python项目,一款加密的直播引流软件

PyTorch,你是不是想用Julia?不,我们还想要Python的生态

突然热搜第一!事关微信、支付宝收款码

Python爬取抖音无水印短视频


Python程序员深度学习的“四大名著”:



这四本书着实很不错!我们都知道现在机器学习、深度学习的资料太多了,面对海量资源,往往陷入到“无从下手”的困惑出境。而且并非所有的书籍都是优质资源,浪费大量的时间是得不偿失的。给大家推荐这几本好书并做简单介绍。


获得方式:

1.扫码关注本公众号
2.后台回复关键词:名著

▲长按扫描关注,回复名著即可获取

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存