python 时间控制的几种方式

https://blog.csdn.net/qq_36867011/article/details/86533326

 

第一种:
#=================================================================
#先等待10分钟后再执行,每1小时后执行一次
##=================================================================
import threading
def printHello():
    print("运行程序")
    timer = threading.Timer(3600, printHello)  #每小时=3600秒
    timer.start()
    print("运行程序2")
#
if __name__ == "__main__":
    timer = threading.Timer(6, printHello)  #10分钟=600秒,表示10分钟后启动一个线程运行本程序
    timer.start()

 

第二种:
 
#===================================================================
#每隔60秒运行一次
#===================================================================
import time,os
def re_exe(inc = 60):  #缺省时间为60秒
    while True:
        print('运行时间')
        time.sleep(inc)
re_exe(60)

 

第三种
 
#==================================================================
#周期性任务,
#==================================================================
import sched,time,os
schedule = sched.scheduler(time.time,time.sleep)
def perform_command(cmd,inc):
    #在inc秒后再次运行自己,即周期运行
    schedule.enter(inc, 0, perform_command, (cmd, inc))
    os.system(cmd)
def timming_exe(cmd,inc=60):
    schedule.enter(inc,0,perform_command,(cmd,inc))
    schedule.run()#持续运行,直到计划时间队列变成空为止
print('show time after 2 seconds:')
timming_exe('echo %time%',2)

第四种:

#====================================

#计算某程序的执行时间,测试时经常用到。
 #==================================
import time
def func():
    p = 1
    for i in range(1,100000):
        p = p * i
    return p
startTime = time.time()
result = func()
endTime = time.time()
print('The result is %s digit long.'%(len(str(result))))
print('运行时间为%s秒'%(endTime - startTime))

 

第五种:每天如何定时启动爬虫任务
 
import datetime
import time
 
def doSth():
    # 把爬虫程序放在这个类里
    print(u'这个程序要开始疯狂的运转啦')
 
# 一般网站都是1:00点更新数据,所以每天凌晨一点启动
def main(h=1,m=0):
    while True:
        now = datetime.datetime.now()
        # print(now.hour, now.minute)
        if now.hour == h and now.minute == m:
            doSth()
        # 每隔60秒检测一次
        time.sleep(60)
   

第六种:
# #======================================
#  简单实用的定时任务
# #======================================
import schedule
import time
 
def job(name='ssss'):
    print("I'm working...",name)
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).days.do(job)
schedule.every().monday.do(job)
schedule.every().friday.at("02:45").do(job,'name')
while True:
    schedule.run_pending()
    time.sleep(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值