python 定时器,轮询定时器的实例

yipeiwu_com5年前Python基础

python 定时器默认定时器只执行一次,第一个参数单位S,几秒后执行

import threading
 
def fun_timer():
 print('Hello Timer!')
 
timer = threading.Timer(1, fun_timer)
timer.start()

改成以下可以执行多次

建立loop_timer.py

from threading import _Timer
class LoopTimer(_Timer):
 """Call a function after a specified number of seconds: 
 
 
   t = LoopTi
   mer(30.0, f, args=[], kwargs={}) 
   t.start() 
   t.cancel()  # stop the timer's action if it's still waiting 
 
 
 """
 
 def __init__(self, interval, function, args=[], kwargs={}):
  _Timer.__init__(self, interval, function, args, kwargs)
 
 def run(self):
  '''self.finished.wait(self.interval) 
  if not self.finished.is_set(): 
   self.function(*self.args, **self.kwargs) 
  self.finished.set()'''
  while True:
   self.finished.wait(self.interval)
   if self.finished.is_set():
    self.finished.set()
    break
   self.function(*self.args, **self.kwargs)

调用

t = LoopTimer(120, fun_timer)
  t.start()

以上这篇python 定时器,轮询定时器的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python和shell变量互相传递的几种方法

python -> shell: 1.环境变量 复制代码 代码如下:import os  var=123或var='123'os.environ['var']=str(v...

Python深度优先算法生成迷宫

本文实例为大家分享了Python深度优先算法生成迷宫,供大家参考,具体内容如下 import random #warning: x and y confusing sx...

浅谈Python 多进程默认不能共享全局变量的问题

主进程与子进程是并发执行的,进程之间默认是不能共享全局变量的(子进程不能改变主进程中全局变量的值)。如果要共享全局变量需要用(multiprocessing.Value("d",10.0...

详解MySQL数据类型int(M)中M的含义

介绍 MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我...

基于python log取对数详解

log()方法返回x的自然对数,对于x>0。 语法 以下是log()方法的语法: import math math.log( x ) 注意:此函数是无法直接访问的,所以我...