手机定闹钟五个起步 仍有勇士不愿早起! 有没有觉得 假期起床是一件超级可怕的事情 正所谓手机配床地久天长 等等 可能你需要一个 炸裂的起床方式 至尊版Python叫醒服务!!! 首先看一下 Python叫醒服务使用的模块 模块中用到的importpyttsx3 是一个文字朗读模块 一会我们将要用到 importtime fromdatetimeimportdatetime fromplaysoundimportplaysound用来播放铃声的 importpyttsx3 接下来 我们设置闹钟的的预定时间 alarmtimeinput(输入要设置的闹钟时间:HH:MM:SS) alarmperiodinput(请输入要设置的时期(AM或PM):) alarmhouralarmtime〔0:2〕获取小时 alarmminutealarmtime〔3:5〕获取分钟 alarmsecondsalarmtime〔6:8〕多少秒 alarmperiodalarmperiod。upper() print(设置成功正在运行,祝您休息愉快。。。。zzZZ。。) 为了配合Python叫醒服务的场景 此处应该有个音乐 试着让程序跑一下 whileflag: nowdatetime。now() currenthournow。strftime(I) currentminutenow。strftime(M) currentsecondsnow。strftime(S) currentperiodnow。strftime(p) if(alarmperiodcurrentperiod): if(alarmhourcurrenthour): if(alarmminutecurrentminute): if(alarmsecondscurrentseconds): print(WakeUp!!!) playsound(1。mp3)铃声名字最好不要带中文,会节码失败 if(int(now。strftime(M))int(alarmminute)10):延迟十分钟在叫一次 playsound(1。mp3) time。sleep(60) pp。say(还不醒?那你可别怪我了都是为你好呀。这就去帮你辞职!哈哈哈哈) pp。runAndWait() 要想闹钟定的好 此处应该有大招 原理很简单 就是假定不起床 就发封邮件分手或辞职 这里我们用到PythonSMTP发送邮件 importsmtplib smtpObjsmtplib。SMTP(〔host〔,port〔,localhostname〕〕〕) 参数说明: host:SMTP服务器主机。你可以指定主机的ip地址或者域名如:runoob。com,这个是可选参数。 port:如果你提供了host参数,你需要指定SMTP服务使用的端口号,一般情况下SMTP端口号为25。 localhostname:如果SMTP在你的本机上,你只需要指定服务器地址为localhost即可。 PythonSMTP对象使用sendmail方法发送邮件,语法如下: SMTP。sendmail(fromaddr,toaddrs,msg〔,mailoptions,rcptoptions〕) 参数说明: fromaddr:邮件发送者地址。 toaddrs:字符串列表,邮件发送地址。 msg:发送消息 这里要注意一下第三个参数,msg是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意msg的格式。这个格式就是smtp协议中定义的格式 因为要用QQ邮箱smtp服务发送邮件 所以要获取授权码 找到QQ邮箱 第一步 第二步 第三步 第四步 让代码跑一下 mysender2073969408qq。com发件人邮箱账号 mypass授权码 myuser2073969408qq。com收件人邮箱账号,我这边发送给自己 defmail(): retTrue try: msgMIMEText(想睡觉,不干了,plain,utf8)填写内容 msg〔From〕formataddr(〔我是奇小酷,mysender〕)括号里的对应发件人邮箱昵称、发件人邮箱账号 msg〔To〕formataddr(〔奇小酷,myuser〕)括号里的对应收件人邮箱昵称、收件人邮箱账号 msg〔Subject〕辞职报告邮件的主题,也可以说是标题你也可以写成分手报告 serversmtplib。SMTPSSL(smtp。qq。com,465)发件人邮箱中的SMTP服务器 server。login(mysender,mypass)括号中对应的是发件人邮箱账号、邮箱密码 server。sendmail(mysender,〔myuser,〕,msg。asstring())括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server。quit()关闭连接 exceptException:如果try中的语句没有执行,则会执行下面的retFalse retFalse returnret retmail() ifret: print(邮件发送成功) else: print(邮件发送失败) 一切准备就绪 坐等闹钟 (ps。贴出全部代码) importtime fromdatetimeimportdatetime fromplaysoundimportplaysound importpyttsx3 importsmtplib fromemail。mime。textimportMIMEText fromemail。utilsimportformataddr defalarm(): pppyttsx3。init() alarmtimeinput(输入要设置的闹钟时间:HH:MM:SS) alarmperiodinput(请输入要设置的时期(AM或PM):) alarmhouralarmtime〔0:2〕获取小时 alarmminutealarmtime〔3:5〕获取分钟 alarmsecondsalarmtime〔6:8〕多少秒 alarmperiodalarmperiod。upper() print(设置成功正在运行,祝您休息愉快。。。。zzZZ。。) flagTrue whileflag: nowdatetime。now() currenthournow。strftime(I) currentminutenow。strftime(M) currentsecondsnow。strftime(S) currentperiodnow。strftime(p) if(alarmperiodcurrentperiod): if(alarmhourcurrenthour): if(alarmminutecurrentminute): if(alarmsecondscurrentseconds): print(WakeUp!!!) playsound(1。mp3)铃声名字最好不要带中文,会节码失败 if(int(now。strftime(M))int(alarmminute)10):延迟十分钟在叫一次 playsound(1。mp3) time。sleep(60) pp。say(还不醒?那你可别怪我了都是为你好呀。这就去帮你辞职!哈哈哈哈) pp。runAndWait() return1 defmailqq(): mysenderxxxxxqq。com发件人邮箱账号 mypass授权码 myuserxxxxxxxqq。com收件人邮箱账号,我这边发送给自己 defmail(): retTrue try: msgMIMEText(想睡觉,不干了,plain,utf8)填写内容 msg〔From〕formataddr(〔奇小酷,mysender〕)括号里的对应发件人邮箱昵称、发件人邮箱账号 msg〔To〕formataddr(〔奇小酷,myuser〕)括号里的对应收件人邮箱昵称、收件人邮箱账号 msg〔Subject〕辞职报告邮件的主题,也可以说是标题你也可以写成分手报告 serversmtplib。SMTPSSL(smtp。qq。com,465)发件人邮箱中的SMTP服务器 server。login(mysender,mypass)括号中对应的是发件人邮箱账号、邮箱密码 server。sendmail(mysender,〔myuser,〕,msg。asstring())括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server。quit()关闭连接 exceptException:如果try中的语句没有执行,则会执行下面的retFalse retFalse returnret retmail() ifret: print(邮件发送成功) else: print(邮件发送失败) ifnamemain: aalarm() ifa1:如果闹钟没关闭就发邮件 mailqq() 。 。 。 本文温馨提示 非重度起床困难户 谨慎使用