How can I make a time delay in Python?>>> from time import sleep

>>> sleep(4)

这个函数实际上暂停了操作系统调用它的线程的处理,允许其他线程和进程在它休眠时执行。

为此目的使用它,或者只是延迟函数的执行。例如:>>> def party_time():

... print('hooray!')

...

>>> sleep(3); party_time()

hooray!

“万岁!”在我按下回车键3秒后打印。

对多个线程和进程使用sleep的示例

同样,sleep挂起您的线程-它几乎使用零处理能力。

要演示,请创建这样的脚本(我首先在交互式Python 3.5shell中尝试了此操作,但子进程由于某些原因找不到party_later函数):from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed

from time import sleep, time

def party_later(kind='', n=''):

sleep(3)

return kind + n + ' party time!: ' + __name__

def main():

with ProcessPoolExecutor() as proc_executor:

with ThreadPoolExecutor() as thread_executor:

start_time = time()

proc_future1 = proc_executor.submit(party_later, kind='proc', n='1')

proc_future2 = proc_executor.submit(party_later, kind='proc', n='2')

thread_future1 = thread_executor.submit(party_later, kind='thread', n='1')

thread_future2 = thread_executor.submit(party_later, kind='thread', n='2')

for f in as_completed([

proc_future1, proc_future2, thread_future1, thread_future2,]):

print(f.result())

end_time = time()

print('total time to execute four 3-sec functions:', end_time - start_time)

if __name__ == '__main__':

main()

此脚本的输出示例:thread1 party time!: __main__

thread2 party time!: __main__

proc1 party time!: __mp_main__

proc2 party time!: __mp_main__

total time to execute four 3-sec functions: 3.4519670009613037

多线程

您可以使用Timerthreading对象触发稍后在单独线程中调用的函数:>>> from threading import Timer

>>> t = Timer(3, party_time, args=None, kwargs=None)

>>> t.start()

>>>

>>> hooray!

>>>

空行显示了打印到标准输出的函数,我必须按回车以确保出现提示。

这种方法的优点是,当Timer线程在等待时,我可以做其他事情,在本例中,在函数执行之前按一次EnterEnter。

multiprocessing library中没有相应的对象。你可以创建一个,但它可能不存在的原因。对于一个简单的计时器来说,子线程比一个全新的子进程更有意义。

python延时程序不能用_如何在Python中进行时间延迟?相关推荐

  1. python 参数个数 同名函数_如何在python中编写不同参数的同名方法

    我在Java背景下学习Python(3.x). 我有一个python程序,我在其中创建一个personObject并将其添加到列表中.p = Person("John") list ...

  2. python实现随机抽取答题_如何在python中实现随机选择

    这篇文章主要介绍了如何在python中实现随机选择,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 想从一个序列中随机抽取若干元素,或者想生成几个随机 ...

  3. python 窗口程序开发课程_从零开始学Python - 第019课:使用PyCharm开发Python应用程序...

    坚持学习完前18课的小伙伴应该已经感受到了,随着我们对Python语言的认知在逐步加深,我们写的代码也越来越复杂了."工欲善其事,必先利其器",如果希望能够更快更好的写出代码,选择 ...

  4. python如何读取uni文件_如何在Python中通过HTTP与UniProt交谈?

    我试图从UniProt获得一些结果,这是一个蛋白质数据库(细节并不重要).我正在尝试使用一种从一种ID转换为另一种ID的脚本.我能够在浏览器上手动执行此操作,但无法在 Python中执行此操作. 在h ...

  5. python画图修改背景颜色_如何在 Matplotlib 中更改绘图背景的实现

    介绍 Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库. 在本教程中,我们将研究如何在Matplotlib中更改绘图的背景. 导 ...

  6. python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令

    如何在python脚本里面连续执行adb shell后面的各种命令 adb shell "cd /data/local && mkdir tmp" adb shel ...

  7. python读json文件数组_如何在python中从json文件读取json对象数组

    我有一个名为example.json的json文件,包含以下内容[{ "product/productId" : "XXX", "product/ti ...

  8. python二进制转八进制代码_如何在python中输入二进制、八进制、十进制、十六进制数据并转换...

    最近在学习python,不过跟着课本的作业题目: 分别就计算二进制110110011.八进制256和十六进制的数字a4b5,并转化为十进制求和. 不过写过程中遇到了个问题: 如何在python中输入二 ...

  9. python怎么去掉换行符_如何在Python中删除尾部换行符?

    如何在Python中删除尾部换行符? 什么是Perl的chomp函数的Python等价物,如果它是换行符,它会删除字符串的最后一个字符? 26个解决方案 1473 votes 尝试方法lstrip() ...

最新文章

  1. 数据库系统DBS的特点
  2. VSCode 小鸡汤 第00期 —— 安装和入门
  3. 数字图像处理:第一章 概述
  4. MySQL 参数文件及参数
  5. .NET 云原生架构师训练营(模块二 基础巩固 依赖注入)--学习笔记
  6. 7个相同小球4个不同盒子_【计算启蒙】4个游戏陪娃玩懂“数拆分”,加减法都不用愁!...
  7. 安全专家教你如何利用Uber系统漏洞无限制的免费乘坐?
  8. Eclipse中的codetemplates.xml
  9. linux下挂载samba服务器,Linux使用mount挂载samba共享
  10. 带你一文看懂MySqL中的事务与索引
  11. cell数组变为字符串_cell转字符串
  12. rollup函数(分组后对每组数据分别合计)
  13. Flink 实战问题(五):The transaction timeout is larger than the maximum value allowed by the broker
  14. java8新特性之---全新的日期、时间API(JSR 310规范),附SpringMVC、Mybatis中使用JSR310的正确姿势
  15. LXR和 SourceInsight
  16. mldonkey 安装详细过程
  17. Win10 IoT C#开发 2 - GPIO Pin 控制发光二极管
  18. C++/Python PAT乙级1051 复数乘法 (15分)
  19. 3d打印技术与计算机,讲述3D打印技术是如何实现打印的,与普通的打印有何不同...
  20. java中enhancer试什么_Java Enhancer類代碼示例

热门文章

  1. Java字符缓冲区BufferedWriter和BufferedReader详解
  2. 中国办教育,看美国还是孔子?
  3. 关于一些初级ACM竞赛题目的分析和题解(二)。
  4. Linux网络配置nmtui激活网卡失败
  5. 7-7 包装机 (25 分)
  6. 如何使用浏览器开发者工具?
  7. C#交换数组中的第一个和最后一个、第二个和倒数第二个,以此类推,把数组进行反转并打印
  8. Python---re模块 正则表达式的
  9. 论文概述(KNN算法)
  10. 【实战篇】是时候彻底弄懂BERT模型了(收藏)