python下timer定时器常用的两种实现方法
2024-10-08 09:08:22
方法一,使用线程中现成的:
这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法:
#! /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")
最新文章
- selenium web driver 使用JS修改input属性
- jQuery jqGrid中ColModel的参数大全
- Memcached监听多个端口_同一台Windows机器中启动多个Memcached服务
- Eclipse上安装GIT插件EGit
- AppCan移动平台开发常见问题解答
- 操作系统基本概念(内核态与用户态、操作系统结构)-by sixleaves
- [转!]jQuey中的return false作用是什么
- eclipse3.2 汉化 汉化包下载
- 初学者最易懂的git教程在这里!
- 算法实现之python篇
- 转:客户端session与服务端session
- 【转】Robot Framework用法总结
- hive优化之开启压缩功能
- Java学习必备书籍推荐终极版!
- 使用百度webuploader实现大文件上传
- JavaScript操作dom总结
- 第一百八十九节,jQueryUI,折叠菜单 UI
- 更新浏览器,导致编写脚本报错Message: Unable to find a matching set of capabilities
- ubuntu系统开root以及(su:认证失败)完美解决
- IOS动画之抖动