如何解决使用 time.sleep 处理键盘中断异常
- 我将每 2 秒显示一次当前时间并进行异常处理。
- 如果有KeyboardInterrupt,消息应该显示为类似print('程序已停止')。 但是在我的代码中,try/except 不起作用。那么我如何打印“已停止”之类的消息?
from datetime import datetime
import time
def display_time():
time.sleep(2)
current_time = datetime.Now()
print('Time: ',current_time.strftime("%X"))
try:
while True:
display_time()
except KeyboardInterrupt:
print('Stopped')
print('Program ends')
解决方法
您应该检查是否在 while
循环内按下了 Ctrl-C,如果按下,则在循环外中断:
while True:
try:
display_time()
except KeyboardInterrupt:
print("Stopped")
break
print('Program ends')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。