用Python编写简单的定时器的方法
作者:PandaraWen 发布时间:2022-03-15 07:20:32
标签:Python
下面介绍以threading模块来实现定时器的方法。
首先介绍一个最简单实现:
import threading
def say_sth(str):
print str
t = threading.Timer(2.0, say_sth,[str])
t.start()
if __name__ == '__main__':
timer = threading.Timer(2.0,say_sth,['i am here too.'])
timer.start()
不清楚在某些特殊应用场景下有什么缺陷否。
下面是所要介绍的定时器类的实现:
class Timer(threading.Thread):
"""
very simple but useless timer.
"""
def __init__(self, seconds):
self.runTime = seconds
threading.Thread.__init__(self)
def run(self):
time.sleep(self.runTime)
print "Buzzzz!! Time's up!"
class CountDownTimer(Timer):
"""
a timer that can counts down the seconds.
"""
def run(self):
counter = self.runTime
for sec in range(self.runTime):
print counter
time.sleep(1.0)
counter -= 1
print "Done"
class CountDownExec(CountDownTimer):
"""
a timer that execute an action at the end of the timer run.
"""
def __init__(self, seconds, action, args=[]):
self.args = args
self.action = action
CountDownTimer.__init__(self, seconds)
def run(self):
CountDownTimer.run(self)
self.action(self.args)
def myAction(args=[]):
print "Performing my action with args:"
print args
if __name__ == "__main__":
t = CountDownExec(3, myAction, ["hello", "world"])
t.start()
0
投稿
猜你喜欢
- 当你的web应用程序成长到一定规模时,你可能需要使用消息队列来处理异步任务、事件或在多个服务之间传递消息。Kafka是一个开源的消息队列系统
- 本文研究的主要是pandas常用函数,具体介绍如下。1 import语句import pandas as pdimport numpy as
- 本文实例为大家分享了python3实现基于用户协同过滤的具体代码,供大家参考,具体内容如下废话不多说,直接看代码。#!/usr/bin/py
- 1.pyspider介绍 一个国人编写的强大的网络爬虫系统
- 一、环境pip install opencv-pythonpython3.9pycharm2020人狠话不多,直接上代码,注释在代码里面,不
- wechat_sender 是基于 wxpy 和 tornado 实现的一个可以将你的网站、爬虫、脚本等其他应用中各种消息 (日志、报警、运
- 本文介绍了vscode 远程调试python的方法,分享给大家,具有如下:实验环境远程服务器:京东云,1核2G,centos7.3 64bi
- 1. 单行导入与多行导入在 Go 语言中,一个包可包含多个 .go 文件(这些文件必须得在同一级文件夹中),只要这些 .go 文件的头部都使
- 前言密码重置功能相信对大家来说都不陌生,本文主要给大家介绍了关于使用Django内置的认证视图实现简单的通过邮箱重置密码的功能,分享出来供大
- python应用文件读取与登录注册功能,具体实现代码如下所示:#!/usr/bin/python3# -*- coding: utf-8 -
- 一、介绍我们在项目的开发过程中应该会遇到这样的问题:我们的项目读取某个配置文件,然后才能按照配置的信息正常运行服务,当我们需要对修改服务的某
- 前言 1.实验环境: Python 3.6;2.示例代码地址:下载示例; 3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(
- 网页采用了 UTF-8 编码格式,这本来没有问题,问题是外部 CSS 文件默认是 ANSI
- phpMyAdmin是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作,例如建立、复
- 定义本地站点在Dreamweaver中制作网站,您必须定义一个本地站点,它是您的计算机上任意位置的一个
- 1、说明PyG2Plot 原理其实非常简单,其中借鉴了 pyecharts 的实现,但是因为蚂蚁金服的 G2Plot 完全基于可视分析理论的
- 我们知道,一般的关系数据库(如SQL Server、Oracle、Access等)中的查询操作是支持集合操作的,例如可以用“Update A
- 图搜索之基于Python的迪杰斯特拉算法和弗洛伊德算法,供大家参考,具体内容如下Djstela算法#encoding=UTF-8MAX=9&
- reindex更多的不是修改pandas对象的索引,而只是修改索引的顺序,如果修改的索引不存在就会使用默认的None代替此行。且不会修改原数
- php循环输出26个大小写英文字母for($i=65;$i<91;$i++){ echo strtolower(chr($