Python timer定时器两种常用方法解析


Posted in Python onJanuary 20, 2020

这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

方法一,使用线程中现成的:

这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法:

#! /usr/bin/python3
#! -*- conding: utf-8 -*-
import threading
import time
def fun_timer():
  print(time.strftime('%Y-%m-%d %H:%M:%S'))
  global timer
  timer = threading.Timer(2,fun_timer)
  timer.start();
timer = threading.Timer(1,fun_timer)
timer.start();
time.sleep(5)
timer.cancel()
print(time.strftime('%Y-%m-%d %H:%M:%S'))

方法二,根据time中的来定义timer:

这种方法使用比较灵活,可根据自身的东西来添自身的需求:

import time

class TimerError(Exception):
  """A custom exception used to report errors in use of Timer class"""

class Timer:
  def __init__(self):
    self._start_time = None

  def start(self):
    """Start a new timer"""
    if self._start_time is not None:
      raise TimerError(f"Timer is running. Use .stop() to stop it")

    self._start_time = time.perf_counter()

  def stop(self):
    """Stop the timer, and report the elapsed time"""
    if self._start_time is None:
      raise TimerError(f"Timer is not running. Use .start() to start it")

    elapsed_time = time.perf_counter() - self._start_time
    self._start_time = None
    print(f"Elapsed time: {elapsed_time:0.4f} seconds")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多进程同步Lock、Semaphore、Event实例
Nov 21 Python
python实现汉诺塔递归算法经典案例
Mar 01 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
python 自动批量打开网页的示例
Feb 21 Python
使用Python检测文章抄袭及去重算法原理解析
Jun 14 Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 Python
PageFactory设计模式基于python实现
Apr 14 Python
快速了解Python开发环境Spyder
Jun 29 Python
python修改微信和支付宝步数的示例代码
Oct 12 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
教你怎么用Python生成九宫格照片
May 20 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 #Python
如何通过Django使用本地css/js文件
Jan 20 #Python
Python中 Global和Nonlocal的用法详解
Jan 20 #Python
Django后台管理系统的图文使用教学
Jan 20 #Python
解决Pycharm的项目目录突然消失的问题
Jan 20 #Python
Python log模块logging记录打印用法解析
Jan 20 #Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 #Python
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
php全排列递归算法代码
2012/10/09 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
js获取变量
2006/08/24 Javascript
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python实现二叉搜索树
2016/02/03 Python
Python排序算法实例代码
2017/08/10 Python
机器学习实战之knn算法pandas
2019/06/22 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
使用django自带的user做外键的方法
2020/11/30 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
如何理解委托
2012/01/06 面试题
技能比赛获奖感言
2014/02/14 职场文书
求职信结尾怎么写
2014/05/26 职场文书
销售人员求职信
2014/07/22 职场文书
党员年终个人总结
2015/02/14 职场文书
执行力心得体会范文
2016/01/11 职场文书