日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 3.X 中定時(shí)器(Timer)的使用

系統(tǒng) 2215 0

前言

每次要使用python的定時(shí)器的時(shí)候總是想著百度,干脆自己寫一個(gè)記錄一下:
使用的是兩種方式實(shí)現(xiàn),我一般喜歡用方式二Timer實(shí)現(xiàn),下面看實(shí)現(xiàn)方式:

方式一:sched

準(zhǔn)確的說,它是一個(gè)調(diào)度(延時(shí)處理機(jī)制),每次想要定時(shí)執(zhí)行某任務(wù)都必須寫入一個(gè)調(diào)度。

            
              
                '''
使用sched模塊實(shí)現(xiàn)的timer,sched模塊不是循環(huán)的,一次調(diào)度被執(zhí)行后就Over了,
如果想再執(zhí)行,可以使用while循環(huán)的方式不停的調(diào)用該方法
'''
              
              
                import
              
               time
              
                ,
              
               sched


              
                #被調(diào)度觸發(fā)的函數(shù)
              
              
                def
              
              
                event_func
              
              
                (
              
              msg
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "Current Time:"
              
              
                ,
              
               time
              
                .
              
              strftime
              
                (
              
              
                "%y-%m-%d %H:%M:%S"
              
              
                )
              
              
                ,
              
              
                'msg:'
              
              
                ,
              
               msg
              
                )
              
              
                def
              
              
                run_function
              
              
                (
              
              
                )
              
              
                :
              
              
                #初始化sched模塊的scheduler類
              
              
    s 
              
                =
              
               sched
              
                .
              
              scheduler
              
                (
              
              time
              
                .
              
              time
              
                ,
              
               time
              
                .
              
              sleep
              
                )
              
              
                #設(shè)置一個(gè)調(diào)度,因?yàn)閠ime.sleep()的時(shí)間是一秒,所以timer的間隔時(shí)間就是sleep的時(shí)間,加上enter的第一個(gè)參數(shù)
              
              
    s
              
                .
              
              enter
              
                (
              
              
                0
              
              
                ,
              
              
                2
              
              
                ,
              
               event_func
              
                ,
              
              
                (
              
              
                "Timer event."
              
              
                ,
              
              
                )
              
              
                )
              
              
    s
              
                .
              
              run
              
                (
              
              
                )
              
              
                def
              
              
                timer1
              
              
                (
              
              
                )
              
              
                :
              
              
                while
              
              
                True
              
              
                :
              
              
                #sched模塊不是循環(huán)的,一次調(diào)度被執(zhí)行后就Over了,如果想再執(zhí)行,可以使用while循環(huán)的方式不停的調(diào)用該方法
              
              
        time
              
                .
              
              sleep
              
                (
              
              
                1
              
              
                )
              
              
        run_function
              
                (
              
              
                )
              
              
                if
              
               __name__ 
              
                ==
              
              
                "__main__"
              
              
                :
              
              
    timer1
              
                (
              
              
                )
              
            
          

方式二:Timer

            
              
                '''
Timer類也是一次性觸發(fā)的,思路和sched大概差不多
'''
              
              
                import
              
               time

              
                import
              
               threading


              
                def
              
              
                timer_start
              
              
                (
              
              
                )
              
              
                :
              
              
    t 
              
                =
              
               threading
              
                .
              
              Timer
              
                (
              
              
                1
              
              
                ,
              
               test_func
              
                ,
              
              
                (
              
              
                "Parameter1"
              
              
                ,
              
              
                )
              
              
                )
              
              
    t
              
                .
              
              start
              
                (
              
              
                )
              
              
                def
              
              
                test_func
              
              
                (
              
              msg1
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "I'm test_func,"
              
              
                ,
              
               msg1
              
                )
              
              
    timer_start
              
                (
              
              
                )
              
              
                def
              
              
                timer2
              
              
                (
              
              
                )
              
              
                :
              
              
    timer_start
              
                (
              
              
                )
              
              
                while
              
              
                True
              
              
                :
              
              
        time
              
                .
              
              sleep
              
                (
              
              
                1
              
              
                )
              
              
                if
              
               __name__ 
              
                ==
              
              
                "__main__"
              
              
                :
              
              
    timer2
              
                (
              
              
                )
              
            
          

雖然說上面的兩種現(xiàn)實(shí)看起來都很蠢,但是如果不借助第三方的庫,可能也只能這樣了.


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 辰溪县| 锡林浩特市| 运城市| 洛阳市| 黄大仙区| 邢台市| 晋州市| 浑源县| 社会| 马山县| 武陟县| 二手房| 鲁甸县| 建德市| 云南省| 枞阳县| 蒙自县| 稻城县| 伊川县| 西充县| 新竹县| 德化县| 吴旗县| 孝义市| 平阴县| 吉安县| 英德市| 三台县| 白朗县| 九龙坡区| 商洛市| 亚东县| 钦州市| 河南省| 永修县| 都安| 马尔康县| 县级市| 龙海市| 安西县| 鄢陵县|