python中延时函数_推迟python中的函数
要在延迟后执行函数或使用事件循环(无线程)在给定的秒数内重复函数,您可以:
Tkinter的
#!/usr/bin/env python
from Tkinter import Tk
def foo():
print("timer went off!")
def countdown(n, bps, root):
if n == 0:
root.destroy() # exit mainloop
else:
print(n)
root.after(1000 / bps, countdown, n - 1, bps, root) # repeat the call
root = Tk()
root.withdraw() # don't show the GUI window
root.after(4000, foo) # call foo() in 4 seconds
root.after(0, countdown, 10, 2, root) # show that we are alive
root.mainloop()
print("done")
产量
10
9
8
7
6
5
4
3
timer went off!
2
1
done
GTK
#!/usr/bin/env python
from gi.repository import GObject, Gtk
def foo():
print("timer went off!")
def countdown(n): # note: a closure could have been used here instead
if n[0] == 0:
Gtk.main_quit() # exit mainloop
else:
print(n[0])
n[0] -= 1
return True # repeat the call
GObject.timeout_add(4000, foo) # call foo() in 4 seconds
GObject.timeout_add(500, countdown, [10])
Gtk.main()
print("done")
产量
10
9
8
7
6
5
4
timer went off!
3
2
1
done
扭曲
#!/usr/bin/env python
from twisted.internet import reactor
from twisted.internet.task import LoopingCall
def foo():
print("timer went off!")
def countdown(n):
if n[0] == 0:
reactor.stop() # exit mainloop
else:
print(n[0])
n[0] -= 1
reactor.callLater(4, foo) # call foo() in 4 seconds
LoopingCall(countdown, [10]).start(.5) # repeat the call in .5 seconds
reactor.run()
print("done")
产量
10
9
8
7
6
5
4
3
timer went off!
2
1
done
ASYNCIO
Python 3.4 为异步IO 引入了新的临时API - asyncio模块:
#!/usr/bin/env python3.4
import asyncio
def foo():
print("timer went off!")
def countdown(n):
if n[0] == 0:
loop.stop() # end loop.run_forever()
else:
print(n[0])
n[0] -= 1
def frange(start=0, stop=None, step=1):
while stop is None or start < stop:
yield start
start += step #NOTE: loss of precision over time
def call_every(loop, seconds, func, *args, now=True):
def repeat(now=True, times=frange(loop.time() + seconds, None, seconds)):
if now:
func(*args)
loop.call_at(next(times), repeat)
repeat(now=now)
loop = asyncio.get_event_loop()
loop.call_later(4, foo) # call foo() in 4 seconds
call_every(loop, 0.5, countdown, [10]) # repeat the call every .5 seconds
loop.run_forever()
loop.close()
print("done")
产量
10
9
8
7
6
5
4
3
timer went off!
2
1
done
注意:这些方法之间的界面和行为略有不同。
python中延时函数_推迟python中的函数相关推荐
- python什么是高阶函数_说说 Python 中的高阶函数
高阶函数(higher-order function)指的是:接受一个函数为参数,或者把函数作为结果值返回的函数1. 1 sorted() 比较常见的高阶函数是 sorted(),其内部的关键字参数 ...
- python中比较重要的几个函数_【python】python re模块中几个比较重要的函数
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22920230&id=3389387 re.match re.m ...
- python中如何调用函数_我写了一个函数,如何在python中调用
匿名用户 1级 2015-03-06 回答 Python的特色简单 Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Pyth ...
- python enumerate函数_关于python中enumerate和zip函数的用法及举例
关于python中enumerate和zip函数的用法及举例 关于enumerate函数: enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容,但实际上,enumerate函数实际返 ...
- python整数转换字符串_使用Python中的str()函数将整数值转换为字符串
python整数转换字符串 Given an integer value and we have to convert the value to the string using str() func ...
- python isalnum函数_探究Python中isalnum()方法的使用
探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符. 语法 以下是isalnum()方法的语法: str.isa1num() 参数 NA 返回值 ...
- python魔法方法与函数_在Python中画图(基于Jupyter notebook的魔法函数)
这篇文章主要介绍了在Python中画图(基于Jupyter notebook的魔法函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先展示一段相 ...
- python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解
首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...
- python 数据比对 函数_用python比对csv文件中的数据
做了个问卷,下载了收集数据xlsx文件,把数据弄到另一个表格文件中,需要校验数据转移的准确性. 使用python的csv库,使用csv.reader(f)函数读取表格数据,转成列表,确定数据行的主键, ...
最新文章
- 图论 ---- F. Useful Edges(不等式移项优化预处理 + 路径和简单路径的区别 + 最短路)
- int 9中断例程-;在屏幕中间依次显示'a'~'z',并可以让人看清。 在显示的过程中,按下Esc键后,改变显示的颜色...
- 前端js变量踩坑,部分手机浏览器不支持let、const
- js调用浏览器的下载框
- scanf可以输入负数吗_C语言进行数据的多输入多输出
- 女生做产品经理好吗_谁说女生不适合做产品经理?
- 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...
- 几个经常用到的字符串的截取(java)
- wxpython列表控件listctrl设置某行颜色_改变ListCtrl某行的背景色或者字体颜色
- 【Tiny4412】Tiny4412开发板介绍
- python语料库_Python-使用NLTK创建新的语料库
- [渝粤教育] 西南石油大学 普通地质学 参考 资料
- CentOS 7.4安装配置Oracle 12cR2 12.2.0.1.0
- Channel Attention 通道注意力
- 图书馆管理系统Python+MySQL+tkinter图形化界面+管理员登录+学生登录(注释详细)
- 如何将诸如Acrobat Reader DC等默认安装在C盘的软件,安装在非系统盘?
- 面临困难不知道如何抉择怎么办,《大话西游之大圣娶亲》观后感
- 全机房最蒟蒻的讲堂_第一期_关于orz
- 共享单车之数据可视化
- C语言同时满足三个并列条件,你不得不知道的编程基础之同时满足多个条件
热门文章
- c语言实现五子棋(真人对战+人机大战)
- java voliate,voliate 的实现原理是什么【面试题详解】
- 利用Python爬取散文网的文章实例
- 德施曼明源云采购|强强联合,加速发力B端合作,品牌智能锁成供应链强动力
- 一线大厂程序员谈回长沙感受:这不是退路,而是新的开始
- 二、更换Abp Vnext默认的UI 布局
- 中国智能材料市场供需分析及投资战略研究报告2022-2028年
- 车祸导致多人死伤,自称无法刹车,巴黎出租车司机起诉特斯拉
- C# 动态创建Access数据库时的错误:“不可识别的数据库格式”
- MVP吕科——怡红公子的努力和成就