【编程】Python 终止程序

Python 的 time.sleep() 方法

如何实现时间延迟

Python 的 time.sleep() 方法可以将正在执行的程序挂起指定的时间秒数。这个方法实现的程序暂停时间可能比实际需求指定的时间短,因为任何信号捕捉的进程都可能对 sleep() 的执行造成影响;同样,实际挂起的时间也可能比实际需求指定的时间长,主要原因是系统的任务调度进程不能精确的控制挂起时长。

import time 
time.sleep(5) #挂起(延迟)5秒钟

执行例子程序,会在5秒后结束。

sleep() 方法的参数是小数,所以可以设定程序暂停小数秒数。

import time 
time.sleep(1.500)

运行例子代码,程序将在1秒500毫秒之后结束。

  • time.sleep(1) # 挂起1秒
  • time.sleep(60) # 挂起1分钟
  • time.sleep(3600) # 挂起1小时

无限循环中的时间延迟

下面是一个每隔5秒钟完成某个事务的例子。

import time 
while True:
print("每5秒输出一次此消息")
time.sleep(5) # 延迟5秒

上面的例子是一个无限循环(死循环),需要最后强制结束程序。

用 sleep 实现倒计时

下面是一个倒计时的例子,使用 sleep 方法每次延时 1 秒钟。

import time 
wait = 10
while wait > 0:
print(wait)
time.sleep(1)
wait = wait - 1

线程和 sleep

线程一般包含在进程中,一个进程可能包含多个线程,这些线程共享这个进程的内存和状态。

下面是一个 sleep() 和多线程的例子。

import time 
from threading import Thread
class Main_Thread(Thread):
def run(self):
for x in range(100, 104):
print(x, " - 主线程")
time.sleep(5)
class Service_Thread(Thread):
def run(self):
for x in range(1, 16):
print(x)
time.sleep(1)
Main_Thread().start()
Service_Thread().start()

输出

100 – 主线程
1
2
3
4
5
101 – 主线程
6
7
8
9
10
102 – 主线程
11
12
13
14
15
103 – 主线程

time.sleep 方法的精确性

time.sleep(秒数) 不是真实的时间,time.sleep() 方法只是利用操作系统的 sleep() 函数,有时在毫秒级别可能会被关闭。大部分的个人电脑的时间控制在 1-10毫秒,操作系统并不规范。对于这样的操作系统, time.sleep() 仅仅是指示性的。这个方法并不是很好的时间机制,但是能够适应很多的应用场合。除非要求很细小的时间延迟,否则可以忽略这个不足。

import time 
sleep_start = time.time()
for cnt in range(0,10):
print(cnt)
time.sleep(1) # 1 sec delay
sleep_end = time.time()
diff = sleep_end - sleep_start
print("循环时间 :",diff)

输出



【编程】Python 随机数
【编程】Python 异常处理
【编程】Python 日期和时间
【编程】Python 多线程套接字
【编程】Python 套接字
【编程】Python FTP
【编程】Python 网页
【编程】Python 访问Web
【编程】Python IP地址
【编程】Python 主机名

此条目发表在人工智能, 服务器, 程序开发分类目录,贴了, , , 标签。将固定链接加入收藏夹。