在 Python 里如何手工进行延迟


本文摘自php中文网,作者anonymity,侵删。

我想知道如何在Python脚本中加时间延迟。

1

2

import time

time.sleep(5)   # Delays for 5 seconds. You can also use a float value.

这是另一个例子,大约每分钟运行一次:

1

2

3

import timewhile True:

    print("This prints once a minute.")

    time.sleep(60) # Delay for 1 minute (60 seconds).

您可以sleep()在时间模块中使用该功能。它可以采用浮动参数进行亚秒级分辨率。

1

2

from time import sleep

sleep(0.1) # Time in seconds.

在 Python 里如何手工进行延迟?

在一个线程中我建议睡眠功能:

1

2

>>> from time import sleep

>>> sleep(4)

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

将其用于此目的,或仅仅是为了延迟执行某个功能。例如:

1

2

3

4

5

>>> def party_time():

...     print('hooray!')

...

>>> sleep(3); party_time()

hooray!

打了3秒后打印出来Enter。

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

再次,sleep暂停你的线程 – 它使用零处理能力。

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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()

此脚本的示例输出:

1

2

3

4

5

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

以上就是在 Python 里如何手工进行延迟的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python有安卓版吗

Python中subprocess类与常量的详细介绍

初学Python 请教学习路线

Python函数式编程是什么?

Python遍历输出列表中最长的单词

关于Python中如何使用selenium模拟jquery滑动解锁的实例分析

Python实现输出带颜色的字符串案例分析

Python如何合并两个列表?

Python中的chr()函数是什么

Python与c不同之处

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...