python定時任務
❶ 如何用python寫一個每分每時每天的定時程序
1.計算生日是星期幾
當你女朋友要過生日了,你肯定要定找家飯店訂個餐慶祝一下,餐館工作日會空一些,周末位置不好定,要是能知道她的生日是星期幾就好了,下面這個程序就能搞定~~
比如girl friend 的生日假設是 gf_birthday='2017-3-3'
1).我們先把變數格式化成一個datetime對象
birthday=datetime.datetime.strptime(gf_birthday,'%Y-%m-%d')
2).然後利用datetime裡面的函數weekday來得到一個下標
birthday.weekday()
3).構造一個weekdays的列表,根據下標從列表裡面取出是周幾
weekdays=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
weekdays[birthday.weekday()]
當然你要計算比如情人節,聖誕節什麼的都可以用上面的程序,或者整個列表把10年的節日都羅列計算一下都是可以了,是不是很簡單,對日期的理解有木有加深了一下下
2.定時任務
在Python裡面,比如你想定期去爬一個網頁,或者做運維的同學想每天12點去定時download一個文件,或者定時去掃描一些伺服器,甚至老闆的需求不停的變可能是,每隔5分鍾,或者每小時的整點10分,每周每月都有一些定時任務
用Python怎麼破很簡單,下面這個程序輕松搞定
我們先從一個最簡單的例子說,假設我們是每分種的第10秒,去執行一個任務去列印一下當前的目錄
1).window下是dir命令,linux是ls
我們用platform這個模塊來判斷一下操作系統
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).如何定時執行
a.我們先獲取當前的時間
now=datetime.datetime.now()
假設當前時間是2017-02-09 20:19:47.555000
b.然後我們輸入一個你要定時執行的target時間
比如你是x分10秒的時候執行sched_Timer=datetime.datetime(x,x,x,x,x,10)
前面的x是並不重要(只要最後是10秒就行了),我們就把目標時間設的比當前晚一點即可:
sched_Timer=datetime.datetime(2017,2,9,20,20,10)
c.好當時間到了20:20:10的時候要運行我們的程序
如何定時到了呢,很簡單用
if now==sched_Timer:
'run Task'
d.那麼如何讓時間在下一分鍾10秒繼續執行呢,也很簡單用timedelta()
datetime.timedelta(minutes=1)把target時間往後增加一分鍾
sched_Timer=sched_Timer+datetime.timedelta(minutes=1)
然後外邊用個while 死循環hold住就可以了
同樣的這個代碼也可以擴展,把minutes=1改成hours=1就變成了每個小時定時任務,改成days=1就變成每天的定時任務
❷ python如何實現線程定時任務
sleep就可以吧,把程序作為一個線程,啟動線程,裡面加個sleep,示例如下:
import threading
import time
class Test(threading.Thread):
def __init__(self):
pass
def test(self):
print 'run test!'
def run(self):
while True:
print time.strftime('%Y-%m-%d %H:%M:%S')
self.test()
time.sleep(5)
#test...
a=Test()
a.run()
#...test
❸ Python需要定時任務,時間是不固定的。需要處理的任務也不固定,怎麼捉。
開個子線程,裡面放下面的代碼
while True:
dosomethings()# 查詢任務列表,執行任務列表
time.sleep(60)
也就是每分鍾檢查一次,注意這個查詢是要放到 子線程 處理的。
❹ 如何設置python腳本定時任務
:beginpython hello.pyTIMEOUT /T 10goto begin以上的10為時間單位s可以自定義
❺ python定時任務編碼問題
這是因為字元集問題
如果你用的是 python2 ,而且在代碼中用了中文,恭喜你踩坑了
這是 python2 比較常見的一個坑,專坑新手
根據實際應用,解決的方法也很不同
通用的解決方法:
不要在代碼中用中文(迴避問題)
改用 python3 (程序小的話還好說……)
調整好所有的編碼設置(要是能弄明白,也不會卡在這里……)
好吧,其實就是沒什麼好辦法,要具體情況具體解決……
最後,祝你好運
❻ 請問Python如何定時循環執行任務
程序功能:
指定一個或者同時多個固定的延遲(例如,5mins, 1hour,1 day, 1 week),程序按照這個指定的延遲定時循環執行某個work!
❼ python如何實現程序定時執行的功能
sleep就可以吧,把程序作為一個線程,啟動線程,裡面加個sleep,示例如下:
import threading
import time
class Test(threading.Thread):
def __init__(self):
pass
def test(self):
print 'run test!'
def run(self):
while True:
print time.strftime('%Y-%m-%d %H:%M:%S')
self.test()
time.sleep(5)
#test...
a=Test()
a.run()
#...test
❽ python 定時任務 用什麼東西來實現
pycorn github.com/tornewuff/pycorn
❾ python定時任務不執行的原因
1.crond服務未啟動 crontab不是Linux內核的功能,而是依賴一個c...
2.許可權問題 比如:腳本沒有x執行許可權,解決方法: 增加執行許可權,或者用bash abc....
3.路徑問題 有的命令在shell中執行正常,但是在crontab執行卻總是失敗。有...
4.時差問題 因為伺服器與客戶端時差問題,所以crontab的時間以伺服器時間為准。 ...
5.變數問題 有時候命令中含有變數,但crontab執行時卻沒有,也會造成執行失敗。 ...