1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        用Python寫了一個(gè)不起床讓你后悔的鬧鐘

        共 5888字,需瀏覽 12分鐘

         ·

        2021-09-14 20:58

        本文鏈接:

        https://blog.csdn.net/jiahuiandxuehui/article/details/119054251


        導(dǎo)讀

        哎 ?? ,別提了自從回到家整個(gè)人都懶散了,總被人嫌棄不說還覺得生活沒有了盼頭,還好在社區(qū)認(rèn)識了一些大佬讓我想重新來過 做回自己,不在做小丑,于是乎我就想用個(gè)東西來提醒我別睡懶覺,然后這篇文章就誕生了。來吧看看今天的故事。

        鬧鐘

        有人說程序員的日常就是反復(fù)造輪子,我覺得能在原來的基礎(chǔ)上玩出新花樣來幫到一些人,做這些事還是挺有趣的這篇文。沒有什么高深的學(xué)問就是給大家在枯燥的夏日帶來一點(diǎn)歡愉。

        使用的模塊

        import timefrom datetime import datetimefrom playsound import playsound#用來播放鈴聲的import pyttsx3

        如果你對import pyttsx3不太熟悉的話可以學(xué)習(xí)一下,就是一個(gè)文字朗讀模塊,一會我們將要用到。


        首先我們先來設(shè)置鬧鐘的的預(yù)定時(shí)間

        alarm_time = input("輸入要設(shè)置的鬧鐘時(shí)間:HH:MM:SS\n")    alarm_period=input("請輸入要設(shè)置的時(shí)期(AM或PM):\n")    alarm_hour=alarm_time[0:2]#獲取小時(shí)    alarm_minute=alarm_time[3:5]#獲取分鐘    alarm_seconds=alarm_time[6:8]#多少秒    alarm_period = alarm_period.upper()     print("設(shè)置成功正在運(yùn)行,祝您休息愉快....zzZZ..")


        設(shè)置成功后鬧鐘就在運(yùn)行了下面給大家展示一下效果片段

        音頻:

        一個(gè)能幫你分手或辭職的鬧鐘

            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') ## 鈴聲名字最好不要帶中文,會節(jié)碼失敗                        if(int(now.strftime("%M"))-int(alarm_minute)==10):#延遲十分鐘在叫一次                            playsound('1.mp3')                            time.sleep(60)                            pp.say('還不醒?那你可別怪我了都是為你好呀。這就去幫你辭職!哈哈哈哈')                            pp.runAndWait()

        原理很簡單,就是一堆判斷大概是這樣的

        ??
        ??
        ??

        辭職或分手(肯定用的著,建議記錄一下)

        這里我們用到Python SMTP發(fā)送郵件
        簡單介紹一下

        import smtplib
        smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )參數(shù)說明:
        host: SMTP 服務(wù)器主機(jī)。你可以指定主機(jī)的ip地址或者域名如: runoob.com,這個(gè)是可選參數(shù)。port: 如果你提供了 host 參數(shù), 你需要指定 SMTP 服務(wù)使用的端口號,一般情況下 SMTP 端口號為25。local_hostname: 如果 SMTP 在你的本機(jī)上,你只需要指定服務(wù)器地址為 localhost 即可。


        Python SMTP 對象使用 sendmail 方法發(fā)送郵件,語法如下:
        SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])參數(shù)說明:
        from_addr: 郵件發(fā)送者地址。to_addrs: 字符串列表,郵件發(fā)送地址。msg: 發(fā)送消息這里要注意一下第三個(gè)參數(shù),msg 是字符串,表示郵件。我們知道郵件一般由標(biāo)題,發(fā)信人,收件人,郵件內(nèi)容,附件等構(gòu)成,發(fā)送郵件的時(shí)候,要注意 msg 的格式。這個(gè)格式就是 smtp 協(xié)議中定義的格式

        因?yàn)槲覀円玫絈Q郵箱smtp服務(wù)發(fā)送郵件下面我們也簡單介紹一下獲取授權(quán)碼的方法
        1·這里找到QQ郵箱






        下面進(jìn)行代碼展示

        my_sender = '[email protected]'  # 發(fā)件人郵箱賬號    my_pass = '***'  # 授權(quán)碼    my_user = '[email protected]'  # 收件人郵箱賬號,我這邊發(fā)送給自己
        def mail(): ret = True try: msg = MIMEText('想睡覺,不干了', 'plain', 'utf-8') # 填寫內(nèi)容 msg['From'] = formataddr(["我是肥學(xué),老子干了", my_sender]) # 括號里的對應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號 msg['To'] = formataddr(["肥學(xué)", my_user]) # 括號里的對應(yīng)收件人郵箱昵稱、收件人郵箱賬號 msg['Subject'] = "辭職報(bào)告" # 郵件的主題,也可以說是標(biāo)題你也可以寫成分手報(bào)告
        server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 發(fā)件人郵箱中的SMTP服務(wù)器 server.login(my_sender, my_pass) # 括號中對應(yīng)的是發(fā)件人郵箱賬號、郵箱密碼 server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括號中對應(yīng)的是發(fā)件人郵箱賬號、收件人郵箱賬號、發(fā)送郵件 server.quit() # 關(guān)閉連接 except Exception: # 如果 try 中的語句沒有執(zhí)行,則會執(zhí)行下面的 ret=False ret = False return ret
        ret = mail() if ret: print("郵件發(fā)送成功") else:        print("郵件發(fā)送失敗")

        結(jié)果:我這個(gè)是自己給自己發(fā)了一個(gè)的測試

        暫時(shí)還沒有工作的同學(xué)可以同樣的方法把郵箱改成你對象的郵箱,嘻嘻嘻。這不就可以治治你的懶床了嗎。

        好了下面貼出全部代碼:

        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("輸入要設(shè)置的鬧鐘時(shí)間:HH:MM:SS\n") alarm_period=input("請輸入要設(shè)置的時(shí)期(AM或PM):\n") alarm_hour=alarm_time[0:2]#獲取小時(shí) alarm_minute=alarm_time[3:5]#獲取分鐘 alarm_seconds=alarm_time[6:8]#多少秒 alarm_period = alarm_period.upper()
        print("設(shè)置成功正在運(yùn)行,祝您休息愉快....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') ## 鈴聲名字最好不要帶中文,會節(jié)碼失敗 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 = '[email protected]' # 發(fā)件人郵箱賬號 my_pass = '***' # 授權(quán)碼    my_user = '[email protected]'  # 收件人郵箱賬號,我這邊發(fā)送給自己
        def mail(): ret = True try: msg = MIMEText('想睡覺,不干了', 'plain', 'utf-8') # 填寫內(nèi)容 msg['From'] = formataddr(["我是肥學(xué),老子干了", my_sender]) # 括號里的對應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號 msg['To'] = formataddr(["肥學(xué)", my_user]) # 括號里的對應(yīng)收件人郵箱昵稱、收件人郵箱賬號 msg['Subject'] = "辭職報(bào)告" # 郵件的主題,也可以說是標(biāo)題你也可以寫成分手報(bào)告
        server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 發(fā)件人郵箱中的SMTP服務(wù)器 server.login(my_sender, my_pass) # 括號中對應(yīng)的是發(fā)件人郵箱賬號、郵箱密碼 server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括號中對應(yīng)的是發(fā)件人郵箱賬號、收件人郵箱賬號、發(fā)送郵件 server.quit() # 關(guān)閉連接 except Exception: # 如果 try 中的語句沒有執(zhí)行,則會執(zhí)行下面的 ret=False ret = False return ret
        ret = mail() if ret: print("郵件發(fā)送成功") else: print("郵件發(fā)送失敗")
        if __name__ == '__main__': a=alarm() if a==1:#如果鬧鐘沒關(guān)閉就發(fā)郵件        mail_qq()
        瀏覽 62
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲五月六月 | 夜玩亲女裸睡的小妍h演员表 | 国产免费无遮挡免费视频在线看 | 在线观看国产一级片 | 欧美日本在线播放 | 国产三级片网站 | 国产农村妇女三级全黄第06集在线观看 | 菲律宾肛交 | 天堂8在线视频 | 日本少妇15p |