Python中实现定时器的两种常见方式有哪些详细解释?
- 内容介绍
- 文章标签
- 相关推荐
本文共计475个文字,预计阅读时间需要2分钟。
这篇文章主要介绍了Python中两种常用的定时器方法,并通过示例代码进行了简要的说明。对于需要深入了解Python定时器的大家和从事相关学习或工作的朋友,以下是一种参考方法:
方法一:使用`threading.Timer`
pythonimport threading
def task(): print(任务执行中...)
创建一个定时器,5秒后执行task函数timer=threading.Timer(5, task)timer.start()
这种方法适用于简单场景,可以方便地实现定时执行任务。
这篇文章主要介绍了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")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计475个文字,预计阅读时间需要2分钟。
这篇文章主要介绍了Python中两种常用的定时器方法,并通过示例代码进行了简要的说明。对于需要深入了解Python定时器的大家和从事相关学习或工作的朋友,以下是一种参考方法:
方法一:使用`threading.Timer`
pythonimport threading
def task(): print(任务执行中...)
创建一个定时器,5秒后执行task函数timer=threading.Timer(5, task)timer.start()
这种方法适用于简单场景,可以方便地实现定时执行任务。
这篇文章主要介绍了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")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

