Python延时操作实现方法示例

本文实例讲述了Python延时操作实现方法。分享给大家供大家参考,具体如下:

在日常的开发中,往往会遇到这样的需求,需要某一个函数在一段时间之后才执行以达到某种特定的效果。此时,我们就需要某种机制,使一个函数延后执行。接下来简单介绍一下两种实现此类效果的方法:

sched

import sched,time
def func(a):
  print time.time(),"Hello Sched!",a
print time.time()
s = sched.scheduler(time.time,time.sleep)
# 2为延后时间,1为优先级,func为函数名,("test1",)为函数参数
s.enter(2,1,func,("test1",))
s.enter(2,0,func,("test2",))
s.run()
print time.time()

输出结果如下:

1519443179.4
1519443181.4 Hello Sched! test2
1519443181.4 Hello Sched! test1
1519443181.4

从结果可以看出,函数果真延后了2s执行,并且test2比test1先执行,是因为同样是2s后执行,并且test2的优先级比test1高

timer

import threading,time
def func(a):
  print time.time(),"Hello Timer!",a
print time.time()
s = threading.Timer(2,func,("test",))
s.start()
print time.time()

输出结果如下:

1519443055.69
1519443055.69
1519443057.69 Hello Timer! test

从结果可以看出,函数果真延后了2s执行。

从两种方式的输出结果可以看出,timer是异步执行的,并不卡住下面代码的执行,而sched会等到执行函数完成后才会往下执行。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • Python方法的延迟加载的示例代码

    数据挖掘的过程中,数据进行处理是一重要的环节,我们往往会将其封装成一个方法,而有的时候这一个方法可能会被反复调用,每一次都对数据进行处理这将是一个很耗时耗资源的操纵,那么有没有办法将计算后的结果 缓存 起来达到 调用一次,处处运行 的效果,经过一番研究在 lazy_object_proxy/utils.py 中发现了一段代码,详见lazy_object_proxy. class cached_property(object): def__init__(self, func): self.func

  • Python定时任务sched模块用法示例

    本文实例讲述了Python定时任务sched模块用法.分享给大家供大家参考,具体如下: 通过sched模块可以实现通过自定义时间,自定义函数,自定义优先级来执行函数. 范例一 import time import sched schedule = sched.scheduler( time.time,time.sleep) def func(string1): print "now excuted func is %s"%string1 print "start"

  • Python检测网络延迟的代码

    本文讲述了Python检测网络延迟的代码.分享给大家供大家参考,具体如下: #!/usr/bin/env python # coding: utf-8 # coding: cp950 ''''' Create Date: 2012-11-06 Version: 1.0 Description: Detection host survival Author: Victor QQ: 1409175531 ''' ''''' Please run the script with root ''' im

  • Python3.6 Schedule模块定时任务(实例讲解)

    一,编程环境 PyCharm2016,Anaconda3 Python3.6 需要安装schedule模块,该模块网址:https://pypi.python.org/pypi/schedule 打开Anaconda Prompt,输入:conda install schedule 提示:Package Not Found Error 于是,使用 pip 安装.由于Anaconda3 中已经自带了pip,如下图: 于是 cmd 命令行切换到 scripts 目录,执行 pip.exe insta

  • python中实现延时回调普通函数示例代码

    前言 回调函数是我们在python编程中经常会遇到的一个问题,而想在将来某一时刻进行函数回调,可以使用call_later()函数来实现,第一个参数是回调用延时,第二个是回调的函数名称 例子如下: import asyncio def callback(n): print('callback {} invoked'.format(n)) async def main(loop): print('registering callbacks') loop.call_later(0.2, callba

  • Python类属性的延迟计算

    所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算. 优点 构造一个延迟计算属性的主要目的是为了提升性能 实现 class LazyProperty(object): def __init__(self, func): self.func = func def __get__(self, instance, owner): if instance is None: return self else: valu

  • Python标准库sched模块使用指南

    事件调度 sched 模块内容很简单,只定义了一个类.它用来最为一个通用的事件调度模块. class sched.scheduler(timefunc, delayfunc) 这个类定义了调度事件的通用接口,它需要外部传入两个参数, timefunc 是一个没有参数的返回时间类型数字的函数(常用使用的如time模块里面的time), delayfunc 应该是一个需要一个参数来调用.与timefunc的输出兼容.并且作用为延迟多个时间单位的函数(常用的如time模块的sleep). 下面是一个列

  • Python性能提升之延迟初始化

    所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算.构造一个延迟计算属性的主要目的是为了提升性能 property 在切入正题之前,我们了解下property的用法,property可以将属性的访问转变成方法的调用. class Circle(object): def __init__(self, radius): self.radius = radius @property def area(self):

  • Python中使用摄像头实现简单的延时摄影技术

    延时摄影(英语:Time-lapse photography)是以一种较低的帧率拍 下图像或者视频,然后用正常或者较快的速率播放画面的摄影技术.在一段延时摄影视频中,物体或者景物缓慢变化的过程被压缩到一个较短的时间内,呈现出平时 用肉眼无法察觉的奇异精彩的景象.延时摄影可以认为是和高速摄影相反的一个过程.延时摄影通常应用在拍摄城市风光.自然风景.天文现象.生物演变等等题材上." 种草 最近买东西得了个小赠品,是一种可以快速生长的小草,拿回来就种在了办公桌上.今天发芽了,一时兴起打算做个延时摄影,

  • Python延时操作实现方法示例

    本文实例讲述了Python延时操作实现方法.分享给大家供大家参考,具体如下: 在日常的开发中,往往会遇到这样的需求,需要某一个函数在一段时间之后才执行以达到某种特定的效果.此时,我们就需要某种机制,使一个函数延后执行.接下来简单介绍一下两种实现此类效果的方法: sched import sched,time def func(a): print time.time(),"Hello Sched!",a print time.time() s = sched.scheduler(time

  • python中pandas库中DataFrame对行和列的操作使用方法示例

    用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.arange(3.)) data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz')) data['w'] #选择表格中的'w'列,使用类字典属性,返回的是S

  • Python面向对象编程repr方法示例详解

    目录 为什么要讲 __repr__ 重写 __repr__ 方法 str() 和 repr() 的区别 为什么要讲 __repr__ 在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(十六进制表示) 假设在开发调试过程中,希望使用 print 实例对象时,输出自定义内容,就可以用 __repr__ 方法了 或者通过 repr() 调用对象也会返回 __repr__ 方法返回的值 是不是似曾相识....没错..和 __str__ 一样的

  • Python文件操作的方法

    目录 1.文件的概念 1.1文件的概念和作用 1.2文件的存储方式 2.文件的基本操作 2.1操作文件的套路 2.2操作文件的函数/方法 2.3read方法--读取文件 2.4打开文件的方式 2.5按行读取文件内容 2.6文件读写案例--复制文件 小文件复制 大文件复制 2.7文件读写中的函数 3.文件/目录的常用管理操作 4.文本文件的编码方式 5.拓展:eval函数 目标: 文件的概念 文件的基本操作 文件/文件夹的常用操作 文本文件的编码方式 1.文件的概念 1.1文件的概念和作用 计算机

  • Python自动化操作Excel方法详解(xlrd,xlwt)

    目录 一.Python操作Excel 7大库对比 二.xlrd 读取excel操作 1. 打开文件 2. 获取所有表名 3. 指定sheet表 4. 对sheet表的行操作 5. 对sheet表的列操作 三.xlwt 写入Excel表操作 1. 写入单个数据 2. 写入多个数据 3. 设置列宽 4. 设置行高 5. 设置单元格风格 一.Python操作Excel 7大库对比 Excel是Windows环境下流行的.强大的电子表格应用.无论是在工作中还是学习中我们都几乎在不间断的使用Excel来

  • python中的句柄操作的方法示例

    通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat") #返回窗口标题为Adobe Acrobat的句柄 通过父窗口句柄获取子句柄 #parent为父窗口句柄id def get_child_windows(parent): ''' 获得parent的所有子窗口句柄 返回子窗口句柄列表 ''' if not parent: return hwndChildList = [] win32gui

  • Python创建对称矩阵的方法示例【基于numpy模块】

    本文实例讲述了Python创建对称矩阵的方法.分享给大家供大家参考,具体如下: 对称(实对称)矩阵也即: step 1:创建一个方阵 >>> import numpy as np >>> X = np.random.rand(5**2).reshape(5, 5) >>> X array([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0.31837673, 0.354

  • Python连接phoenix的方法示例

    本文实例讲述了Python连接phoenix的方法.分享给大家供大家参考,具体如下: phoenix是由saleforce.com开源的一个项目,后又捐给了Apache.它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase.可以把Phoenix只看成一种代替HBase的语法的一个工具.虽然可以用java可以用jdbc来连接phoenix,然后操作HBase,但是在生产环境中,不可以用在OLTP中. Phoenix官网:http://phoen

  • Python中list初始化方法示例

    本文实例讲述了Python中list初始化方法.分享给大家供大家参考,具体如下: 1.基本方法. lst = [1, 2, 3, 4, 5] 2.初始化连续数字. >>> lst = [n for n in range(5, 10)] >>> print(lst) [5, 6, 7, 8, 9] 3.初始化n个相同值.(两种方式) >>> lst = ['x' for n in range(5)] >>> print(lst) ['x

  • Python走楼梯问题解决方法示例

    本文实例讲述了Python走楼梯问题解决方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 ''' 下楼问题.从楼上走到楼下共有h个台阶,每一步有两种走法: 走1个台阶,走2个台阶,问有多少可走的方案.用递归思想和迭代思想编程 ''' ''' 分析:问题可以从最后一次是走1步还是两步,反向考虑 ''' def take_stairs_recursive(n): if n == 1: return 1 elif n == 2: return 2

随机推荐