这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
方法一,使用线程中现成的:
这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#! /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:
这种方法使用比较灵活,可根据自身的东西来添自身的需求:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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" ) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/dylancao/p/12213235.html