python每月定时_如何用Python写一个每分每时每天的定时程序
閱讀本文大概需要4分鐘
上一篇我們學(xué)習(xí)了Python關(guān)于時間,日期,日歷的一些基本用法,現(xiàn)在我們通過兩個精選例子讓你融匯貫通,快來看看吧
1.計算生日是星期幾
當你女朋友要過生日了,你肯定要定找家飯店訂個餐慶祝一下,餐館工作日會空一些,周末位置不好定,要是能知道她的生日是星期幾就好了,下面這個程序就能搞定~~
比如girl friend 的生日假設(shè)是 gf_birthday='2017-3-3'
1).我們先把變量格式化成一個datetime對象
birthday=datetime.datetime.strptime(gf_birthday,'%Y-%m-%d')
2).然后利用datetime里面的函數(shù)weekday來得到一個下標
birthday.weekday()
3).構(gòu)造一個weekdays的列表,根據(jù)下標從列表里面取出是周幾
weekdays=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
weekdays[birthday.weekday()]
當然你要計算比如情人節(jié),圣誕節(jié)什么的都可以用上面的程序,或者整個列表把10年的節(jié)日都羅列計算一下都是可以了,是不是很簡單,對日期的理解有木有加深了一下下
2.定時任務(wù)
在Python里面,比如你想定期去爬一個網(wǎng)頁,或者做運維的同學(xué)想每天12點去定時download一個文件,或者定時去掃描一些服務(wù)器,甚至老板的需求不停的變可能是,每隔5分鐘,或者每小時的整點10分,每周每月都有一些定時任務(wù)
用Python怎么破很簡單,下面這個程序輕松搞定
我們先從一個最簡單的例子說,假設(shè)我們是每分種的第10秒,去執(zhí)行一個任務(wù)去打印一下當前的目錄
1).window下是dir命令,linux是ls
我們用platform這個模塊來判斷一下操作系統(tǒng)
import platform
os_platfrom=platform.platform()
if os_platfrom.startswith('Darwin'):
print'this is mac os system'
os.system('ls')
elif os_platfrom.startswith('Window'):
print'this is win system'
os.system('dir')
2).如何定時執(zhí)行
a.我們先獲取當前的時間
now=datetime.datetime.now()
假設(shè)當前時間是2017-02-09 20:19:47.555000
b.然后我們輸入一個你要定時執(zhí)行的target時間
比如你是x分10秒的時候執(zhí)行sched_Timer=datetime.datetime(x,x,x,x,x,10)
前面的x是并不重要(只要最后是10秒就行了),我們就把目標時間設(shè)的比當前晚一點即可:
sched_Timer=datetime.datetime(2017,2,9,20,20,10)
c.好當時間到了20:20:10的時候要運行我們的程序
如何定時到了呢,很簡單用
if now==sched_Timer:
'run Task'
d.那么如何讓時間在下一分鐘10秒繼續(xù)執(zhí)行呢,也很簡單用timedelta()
datetime.timedelta(minutes=1)把target時間往后增加一分鐘
sched_Timer=sched_Timer+datetime.timedelta(minutes=1)
然后外邊用個while 死循環(huán)hold住就可以了
同樣的這個代碼也可以擴展,把minutes=1改成hours=1就變成了每個小時定時任務(wù),改成days=1就變成每天的定時任務(wù)
大家可以直接動手練習(xí)一下,如果需要源碼的同學(xué)請后臺跟我聯(lián)系,留言
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python每月定时_如何用Python写一个每分每时每天的定时程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动圈耳机振膜_耳机中的动圈、动铁、圈铁都
- 下一篇: envi矢量图层外面有蓝色边框_晒晒装完