这篇文章主要介绍了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