Python时间睡眠()

Hello everyone, 希望你们学习Python很好。在本教程中,我们将学习有关Python time sleep()方法的知识。Python sleep()函数属于python time模块,该模块在之前已经讨论过

Python time sleep

Python time sleep()函数用于在程序执行中添加延迟。我们可以使用python sleep()函数在给定的秒数内暂停程序的执行。请注意,python time sleep()函数实际上只会停止当前线程的执行,而不是整个程序。

Python time sleep()函数的语法

Python sleep()是Python time模块的一个方法。因此,我们首先必须导入time模块,然后才能使用此方法。使用python sleep()函数的方法是: 这里sleep()方法的参数t以秒为单位。也就是说,当执行语句time.sleep(t)时,下一行代码将在t秒后执行。请参阅以下示例:

 # 导入time模块
import time

print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")

如果你运行上面的代码,你会发现第二个打印在5秒后执行。所以你可以根据需要在你的代码中添加延迟。参数也可以是浮点值,以获得更精确的延迟。例如,你想要延迟100毫秒,即0.1秒,可以如下所示:

import time
time.sleep(0.100)

Python睡眠示例

让我们看一下Python时间睡眠函数的以下示例。

import time
startTime = time.time()
for i in range(0,5):
   print(i)
   # 延迟1秒
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

这将输出:

0
1
2
3
4
Elapsed Time = 5.059988975524902

经过的时间大于5秒,因为在每次循环中,执行都会暂停1秒。额外的时间是由于程序的执行时间、操作系统线程调度等。

Python sleep()的不同延迟时间

有时候你可能需要不同秒数的延迟。你可以这样做:

import time

for i in [ .5, .1, 1, 2]:
   print("Waiting for %s" % i , end='')
   print(" seconds")
   time.sleep(i)

这将输出:

Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds

使用sleep()进行戏剧性的打印

你可能需要以戏剧性的方式打印一些消息,你可以按照以下方式操作:

# 导入时间模块
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # 打印消息的每个字符
   print(i)
   time.sleep(0.3)

如果你运行上述代码,你会发现在打印消息的每个字符后,会花费一些时间,看起来像是戏剧性的。

Python线程睡眠

Python的`time.sleep()`函数是多线程编程中非常重要的方法。下面是一个简单的示例,展示了Python的`time.sleep()`函数如何仅暂停当前线程的执行。

import time
from threading import Thread


class Worker(Thread):
    def run(self):
        for x in range(0, 11):
            print(x)
            time.sleep(1)


class Waiter(Thread):
    def run(self):
        for x in range(100, 103):
            print(x)
            time.sleep(5)


print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")

下图显示了上述Python线程睡眠示例产生的输出。 从输出中很明显,只有线程被停止执行,而不是整个程序被Python的`time.sleep()`函数停止执行。这就是关于Python的`time.sleep()`函数或`python sleep()`函数的全部内容。参考:StackOverFlow帖子API文档

Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep