Python时间睡眠()
大家好,希望你们学好python。在本教程中,我们将学习 python time sleep() 方法。 python sleep函数属于前面已经讨论过的python time模块
Python定时休眠
Python时间睡眠功能用于增加程序执行的延迟。我们可以使用 python sleep 函数在给定的时间内停止程序的执行,以秒为单位。请注意,python time sleep 函数实际上只停止当前线程的执行,而不是整个程序。
Python时间sleep()函数语法
Python sleep() 是 Python 时间模块的一种方法。所以,首先我们必须导入时间模块,然后我们可以使用这个方法。 python sleep()函数的使用方法是:这里 sleep() 方法的参数 t 以秒为单位。这意味着,当执行语句 time.sleep(t) 时,下一行代码将在 t 秒后执行。请参见以下示例:
# importing time module
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)
# making delay for 1 second
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
这将输出:
0
1
2
3
4
Elapsed Time = 5.059988975524902
运行时间大于 5,因为每次在 for 循环中,执行都会暂停 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() 进行戏剧性打印
您可能需要以戏剧性的方式打印一些消息,您可以按以下方式进行:
# importing time module
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# printing each character of the message
print(i)
time.sleep(0.3)
如果你运行上面的代码,你会看到在打印消息的每个字符之后需要一些时间,这看起来很戏剧化。
Python线程休眠
Python time sleep() 函数是非常重要的多线程方法。下面是一个简单的示例,显示 python 时间睡眠功能仅在多线程编程中暂停当前线程的执行。
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 时间睡眠功能仅停止执行线程,而不是整个程序。这就是关于 python 时间睡眠函数或 python 睡眠函数的全部内容。参考:StackOverFlow Post,API Doc
更多推荐
所有评论(0)