微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 time.sleep 处理键盘中断异常

如何解决使用 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 举报,一经查实,本站将立刻删除。