最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python執(zhí)行定時(shí)任務(wù)(非框架)

1.計(jì)算生日是星期幾

當(dāng)你女朋友要過生日了,你肯定要定找家飯店訂個(gè)餐慶祝一下,餐館工作日會(huì)空一些,周末位置不好定,要是能知道她的生日是星期幾就好了,下面這個(gè)程序就能搞定~~

扶溝網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),扶溝網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為扶溝超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的扶溝做網(wǎng)站的公司定做!

比如girl friend 的生日假設(shè)是 gf_birthday='2017-3-3'

1).我們先把變量格式化成一個(gè)datetime對(duì)象

birthday=datetime.datetime.strptime(gf_birthday,'%Y-%m-%d')

2).然后利用datetime里面的函數(shù)weekday來得到一個(gè)下標(biāo)

birthday.weekday()

3).構(gòu)造一個(gè)weekdays的列表,根據(jù)下標(biāo)從列表里面取出是周幾

weekdays=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']

weekdays[birthday.weekday()]

python執(zhí)行定時(shí)任務(wù)(非框架)

當(dāng)然你要計(jì)算比如情人節(jié),圣誕節(jié)什么的都可以用上面的程序,或者整個(gè)列表把10年的節(jié)日都羅列計(jì)算一下都是可以了,是不是很簡(jiǎn)單,對(duì)日期的理解有木有加深了一下下

2.定時(shí)任務(wù)

在Python里面,比如你想定期去爬一個(gè)網(wǎng)頁,或者做運(yùn)維的同學(xué)想每天12點(diǎn)去定時(shí)download一個(gè)文件,或者定時(shí)去掃描一些服務(wù)器,甚至老板的需求不停的變可能是,每隔5分鐘,或者每小時(shí)的整點(diǎn)10分,每周每月都有一些定時(shí)任務(wù)

用Python怎么破很簡(jiǎn)單,下面這個(gè)程序輕松搞定

我們先從一個(gè)最簡(jiǎn)單的例子說,假設(shè)我們是每分種的第10秒,去執(zhí)行一個(gè)任務(wù)去打印一下當(dāng)前的目錄

1).window下是dir命令,linux是ls

我們用platform這個(gè)模塊來判斷一下操作系統(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).如何定時(shí)執(zhí)行

a.我們先獲取當(dāng)前的時(shí)間

now=datetime.datetime.now()

假設(shè)當(dāng)前時(shí)間是2017-02-09 20:19:47.555000

b.然后我們輸入一個(gè)你要定時(shí)執(zhí)行的target時(shí)間

比如你是x分10秒的時(shí)候執(zhí)行sched_Timer=datetime.datetime(x,x,x,x,x,10)

前面的x是并不重要(只要最后是10秒就行了),我們就把目標(biāo)時(shí)間設(shè)的比當(dāng)前晚一點(diǎn)即可:

sched_Timer=datetime.datetime(2017,2,9,20,20,10)

c.好當(dāng)時(shí)間到了20:20:10的時(shí)候要運(yùn)行我們的程序

如何定時(shí)到了呢,很簡(jiǎn)單用

if now==sched_Timer:

'run Task'

d.那么如何讓時(shí)間在下一分鐘10秒繼續(xù)執(zhí)行呢,也很簡(jiǎn)單用timedelta()

datetime.timedelta(minutes=1)把target時(shí)間往后增加一分鐘

sched_Timer=sched_Timer+datetime.timedelta(minutes=1)

然后外邊用個(gè)while 死循環(huán)hold住就可以了

python執(zhí)行定時(shí)任務(wù)(非框架)

同樣的這個(gè)代碼也可以擴(kuò)展,把minutes=1改成hours=1就變成了每個(gè)小時(shí)定時(shí)任務(wù),改成days=1就變成每天的定時(shí)任務(wù)

作者:菜鳥學(xué)python 鏈接:http://www.jianshu.com/p/ab8d9e576ac4 來源:簡(jiǎn)書 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。



以下是這篇文章的評(píng)論,我覺得還是不錯(cuò)的,也解決上面的問題時(shí)間不匹配的問題,特地貼過來來看看

按樓主提供的方法嘗試了下,樓主提供的一種定時(shí)思路是可行的,不過在具體執(zhí)行過程中“if now==sched_Timer:”這里可能會(huì)有點(diǎn)問題。

在while循環(huán)中,datetime.datetime.now()獲取的時(shí)間是“2017-8-10 17:22:54.123456”這種格式的,而樓主設(shè)置的時(shí)間格式 print 出來默認(rèn)是“2017-8-10 17:22:54”,可能是程序運(yùn)行時(shí)間的因素,實(shí)際運(yùn)行過程中判定二者相等,進(jìn)而執(zhí)行if內(nèi)的語句的情況很少出現(xiàn)(我這里嘗試了半個(gè)下午,沒有一次判定二者相等)。

下面是我自己稍作修改后自行使用的:
import time

sched_time = datetime.datetime(2017, 8, 10, 17, 31, 0)
loopflag = 0
while True:
now = datetime.datetime.now()
if sched_timeloopflag = 1
time.sleep(1)
if loopflag == 1:
func() #此處為你自己想定時(shí)執(zhí)行的功能函數(shù)
loopflag = 0

當(dāng)前名稱:python執(zhí)行定時(shí)任務(wù)(非框架)
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/ighspi.html