第一种:
#=================================================================
#先等待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 = 1for i in range(1,100000):p = p * ireturn 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 timedef 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 timedef 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)
第七种:利用sched模块解决时间循环控制问题:# ! /usr/bin/env python
# coding=utf-8
import time, os, scheddef timming_exe(cmd, inc=60):try:# 第一个参数确定任务的时间,返回从某个特定的时间到现在经历的秒数# 第二个参数以某种人为的方式衡量时间schedule = sched.scheduler(time.time, time.sleep)# 安排inc秒后再次运行自己,即周期运行schedule.enter(inc, 0, timming_exe, (cmd, inc))os.system(cmd)schedule.run()finally:returntimming_exe("echo %time%", 10)
第八种:优秀的时间并发控制import datetime
import schedule
import threading
import timedef job1():print("I'm working for job1")time.sleep(2)print("job1:", datetime.datetime.now())def job2():print("I'm working for job2")time.sleep(2)print("job2:", datetime.datetime.now())def job1_task():sjob1 = threading.Thread(target=job1)sjob1.start()sjob1.join()def job2_task():sjob2 =threading.Thread(target=job2)sjob2.start()sjob2.join()schedule.every(1).seconds.do(job1_task)
schedule.every(1).seconds.do(job2_task)
while True:schedule.run_pending()time.sleep(1)

python 时间控制的几种方式相关推荐

  1. Python 打开网页的几种方式

    Python打开网页的几种方式 方法1:直接调用系统命令 os #导入包 import os #执行包命令 os.system('"C:/Users/Public/AppData/Local ...

  2. redistemplate hash 过期时间_完美!谈谈Java中时间控制的几种解决方案

    前言 需求是这样的,在与第三方对接过程中,对方提供了token进行时效性验证,过一段时间token就会失效.后台有定时任务在获取,但是偶尔会出现token失效,这是因为在获取的时候,定时任务正在跑,可 ...

  3. python 下载文件-Python下载文件的11种方式

    原标题:Python下载文件的11种方式 在本教程中,你将学习如何使用不同的Python模块从web下载文件.此外,你将下载常规文件.web页面.Amazon S3和其他资源. 最后,你将学习如何克服 ...

  4. Python实现屏幕截图的两种方式

    Python实现屏幕截图的两种方式 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处 ...

  5. Python拼接字符串的七种方式

    ♚ 豌豆花下猫,某985高校毕业生, 兼具极客思维与人文情怀 .公众号Python猫, 专注python技术.数据科学和深度学习,力图创造一个有趣又有用的学习分享平台. 忘了在哪看到一位编程大牛调侃, ...

  6. Python读取/保存图片的3种方式(PIL、matplotlib、cv2)

    文章目录 Python读取/保存图片的3种方式 PIL方式 matplotlib方式 OpenCV方式 总结: Python读取/保存图片的3种方式 PIL方式 from PIL import Ima ...

  7. Python 发送 email 的三种方式

    Python发送email的三种方式,分别为使用登录邮件服务器.使用smtp服务.调用sendmail命令来发送三种方法 本文原文自米扑博客:Python 发送 email 的三种方式 Python发 ...

  8. Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码

    Py之qrcode:调用python的qrcode库两种方式生成二维码.带logo的二维码 目录 python编程实现生成二维码 1.第一种方式-纯文本 2.第二种方式-带logo

  9. Python 操作 MySQL 的5种方式(转)

    Python 操作 MySQL 的5种方式 不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Pytho ...

最新文章

  1. 生成器模式(Builder)解析例子
  2. 为什么说BCH是最安全的数字货币之一?
  3. Cpp 对象模型探索 / operator new、operator delete、operator new[] 和 operator delete [] 重载
  4. 玩转oracle 11g(26):误删表数据和误删表回滚
  5. 第五章 计算机故障诊断与排除
  6. 易语言客户端请求http_HTTP的重点问题
  7. 难得一见的DIY针孔相机
  8. WIN10使用 NetSpeedMonitor
  9. 【Auto.JS】入门宝典—Auto.JS开发使用笔记(随笔和使用心得)
  10. 格雷码转换成二进制c语言程序,基于PLC程序实现格雷码转换成二进制码.pdf
  11. 国内液压与气动标准大全
  12. js使用canvas画布画太极图案
  13. 诛仙2怎样修改服务器时间,《诛仙2》3月2日服务器数据互通公告
  14. hdu 6357 Hills And Valleys——dp
  15. 34.UCASE() LCASE() 函数
  16. android和ios手机换行,ios label中文与数字混合导致换行解决
  17. STC8单片机ADC采样注意事项
  18. 微信支付~微信手机网站支付(mweb)
  19. IGBT体二极管参数
  20. i.MX6 ARM工控板 开发设计

热门文章

  1. 设置高度等于动态宽度(CSS方法)
  2. 二叉树算法解题思路总结(一)
  3. js判断数据类型常用的四种方法
  4. vanilla_使用Vanilla JavaScript构建Cookie库
  5. Dracula这个东西
  6. 阿里大鱼短信发送接口开发
  7. linux中的lnk格式,ink文件扩展名,ink文件怎么打开?
  8. portalv15安装 tia_安装了TIA Portal V15.1软件,所有程序里有TIAV15.1图标,怎么桌面上没有TIA V15.1的图标?-工业支持中心-西门子中国...
  9. 游戏思考15:全区全服和分区分服的思考
  10. 天堂向左,深圳往右 第十三章第十四章