首页 > Python > 如何在 Python 脚本中设置时间延迟?

如何在 Python 脚本中设置时间延迟?

上一篇 下一篇

网友问题:

如何在 Python 脚本中设置时间延迟?

分割线

网友回答:

从模块使用。它可以采用浮点参数进行亚秒级解析。sleep()time

from time import sleep
sleep(0.1)  # Time in seconds

分割线

网友回答:

如何在 Python 中制造时间延迟?

在单个线程中,我建议使用睡眠功能:

>>> from time import sleep

>>> sleep(4)

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

将其用于该目的,或者只是延迟函数的执行。例如:

>>> def party_time():
...     print('hooray!')
...
>>> sleep(3); party_time()
hooray!

“万岁!”在我点击后 3 秒打印。Enter

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

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

为了演示,请创建一个这样的脚本(我首先在交互式Python 3.5 shell中尝试过,但由于某种原因子进程找不到该函数):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

多线程

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

>>> from threading import Timer
>>> t = Timer(3, party_time, args=None, kwargs=None)
>>> t.start()
>>>
>>> hooray!

>>>

空行说明该函数打印到我的标准输出,我必须点击以确保我处于提示状态。Enter

这种方法的好处是,当线程等待时,我能够做其他事情,在这种情况下,点击一次 – 在函数执行之前(请参阅第一个空提示符)。TimerEnter

多处理库中没有相应的对象。您可以创建一个,但它可能由于某种原因不存在。对于一个简单的计时器来说,子线程比一个全新的子进程更有意义。

分割线

网友回答:

这会延迟 2.5 秒:

import time
time.sleep(2.5)

下面是另一个示例,其中某些内容大约每分钟运行一次:

import time
while True:
    print("This prints once a minute.")
    time.sleep(60) # Delay for 1 minute (60 seconds).

模板简介:该模板名称为【如何在 Python 脚本中设置时间延迟?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 177次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-09
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信素材 微信公众平台 微信图片 响应式 企业网站 微信文章 html5 微信模板 自适应 单页式简历模板
您可能会喜欢的其他模板