Python时间睡眠()
在本教程中,我们将学习python time sleep()方法。
Python sleep函数属于前面已经讨论过的python time模块
Python时间睡眠
Python时间睡眠功能用于增加程序执行的延迟。
我们可以使用python sleep函数在给定的时间(以秒为单位)中暂停程序的执行。
注意,python time sleep函数实际上仅停止当前线程的执行,而不是整个程序的执行。
Python time 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 time sleep函数示例。
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 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函数,只有线程正在停止执行,而不是整个程序。