Python實(shí)現(xiàn)多腳本處理定時(shí)運(yùn)行
前言:
管理多腳本,要實(shí)現(xiàn)大量統(tǒng)計(jì)計(jì)算以及大量腳本進(jìn)行統(tǒng)計(jì),定時(shí)運(yùn)行并反饋結(jié)果是很多大數(shù)據(jù)項(xiàng)目場景中十分常見的,就該問題本篇文章提供思路方法以及部分代碼。
一、創(chuàng)建時(shí)間
首先可以通過python自帶的datetime庫獲取本地時(shí)間,對(duì)于Pythpn時(shí)間序列想要更深入的了解可以參閱:Pandas處理時(shí)間序列數(shù)據(jù)操作詳解
python3是自帶datetime庫的,他有自身代表時(shí)間的數(shù)據(jù)類型datetime。由此我們可以根據(jù)datetime數(shù)據(jù)結(jié)構(gòu)進(jìn)行運(yùn)算,運(yùn)用邏輯可以達(dá)到一定的時(shí)間控制。但首先我們需要擁有關(guān)于datetime數(shù)據(jù)類型的知識(shí),好讓我們創(chuàng)建我們想要的日期。
創(chuàng)建datetime很簡單:
from datetime import datetime as dt dt=dt(2022,5,23)
這就創(chuàng)建了一個(gè)2022年5月23日的datetime數(shù)據(jù)類型。

若想要轉(zhuǎn)換為我們熟知的日期格式,我們可以使用strftime函數(shù)自定義格式,這里給出strftime函數(shù)的用法:

dt.strftime('%m/%d/%Y %H:%M:%S')
二、設(shè)定時(shí)間
首先我們可以設(shè)定起始任務(wù)時(shí)間,假設(shè)我們的腳本自動(dòng)在早上2點(diǎn)到6點(diǎn)運(yùn)行一次,并且獲取當(dāng)天日期作為初始的開始執(zhí)行日期:
creatTime=datetime.time(2,0,0) closeTime=datetime.time(6,0,0) startDate=datetime.datetime.now() 我們需要獲取當(dāng)前時(shí)間和日期: #獲取當(dāng)前時(shí)間 currentTime=datetime.now().time #獲取當(dāng)前日期 currentTime=darerime.now().date
然后我們只要規(guī)定每當(dāng)本地時(shí)間在2點(diǎn)到6點(diǎn)這個(gè)范圍,我們就執(zhí)行腳本:
if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
? ? ? ? #執(zhí)行以下python腳本
? ? ? ? print('---------')
? ? ? ? print('執(zhí)行成功')然后我們需要修改開始日期,讓其+1天能夠保持每天持續(xù)更新,這里使用到了時(shí)間推移函數(shù):
timedelta類表示為時(shí)間差,可直接實(shí)例化也可以由兩個(gè)datetime進(jìn)行相減操作得到。
可表示的時(shí)間差依次為:
days,seconds,microseconds,minutes,hours,weeks

startDate=(datetime.datetime.now()+datetime.timedelta(days=1))
總代碼如下:
from datetime import datetime as dt
import time
creatTime=datetime.time(2,0,0)
closeTime=datetime.time(6,0,0)
startDate=datetime.datetime.now()
while True:
? ? #獲取當(dāng)前時(shí)間
? ? currentTime=datetime.datetime.now().time
? ? #獲取當(dāng)前日期
? ? currentDate=datetime.datetime.now().date
? ? if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
? ? ? ? #執(zhí)行以下python腳本
? ? ? ? print('---------')
? ? ? ? print('執(zhí)行成功')
? ? ? ? #成功以后執(zhí)行日期改為下一天
? ? ? ? startDate=(datetime.datetime.now()+datetime.timedelta(days=1))到此這篇關(guān)于Python實(shí)現(xiàn)多腳本處理定時(shí)運(yùn)行的文章就介紹到這了,更多相關(guān)Pythpn定時(shí)運(yùn)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- centos 自動(dòng)運(yùn)行python腳本和配置 Python 定時(shí)任務(wù)
- 自動(dòng)在Windows中運(yùn)行Python腳本并定時(shí)觸發(fā)功能實(shí)現(xiàn)
- 實(shí)現(xiàn)Windows下設(shè)置定時(shí)任務(wù)來運(yùn)行python腳本
- 如何給windows設(shè)置定時(shí)任務(wù)并運(yùn)行python腳本
- Python實(shí)現(xiàn)定時(shí)監(jiān)測網(wǎng)站運(yùn)行狀態(tài)的示例代碼
- python每天定時(shí)運(yùn)行某程序代碼
相關(guān)文章
Python+Matplotlib繪制帶有對(duì)角線的散點(diǎn)圖的示例代碼
Matplotlib 是一個(gè)用于繪制二維圖形的 Python 庫,這篇文章主要介紹了Python如何利用Matplotlib繪制帶有對(duì)角線的散點(diǎn)圖,需要的小伙伴可以參考一下2023-06-06
Python操作MongoDb數(shù)據(jù)庫流程詳解
這篇文章主要介紹了Python操作MongoDb數(shù)據(jù)庫流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Django框架用戶注銷功能實(shí)現(xiàn)方法分析
這篇文章主要介紹了Django框架用戶注銷功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了基于Django框架的刪除cookie實(shí)現(xiàn)用戶注銷功能的相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
Pandas index操作索引的實(shí)現(xiàn)
Pandas中的索引index用于選擇特定的行數(shù)和列數(shù),加快數(shù)據(jù)訪問速度,本文就來介紹一下index操作索引,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
python去除刪除數(shù)據(jù)中\(zhòng)u0000\u0001等unicode字符串的代碼
這篇文章主要介紹了python去除刪除數(shù)據(jù)中\(zhòng)u0000\u0001等unicode字符串的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
在Pycharm中自動(dòng)添加時(shí)間日期作者等信息的方法
今天小編就為大家分享一篇在Pycharm中自動(dòng)添加時(shí)間日期作者等信息的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01

