python - 使用 time.sleep 处理键盘中断异常
问题描述
- 我将每 2 秒显示一次当前时间和异常处理。
- 如果有键盘中断,消息应该显示为 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')
解决方案
您应该检查是否Ctrl-C在循环内按下while
,如果是,则在循环外中断:
while True:
try:
display_time()
except KeyboardInterrupt:
print("Stopped")
break
print('Program ends')
推荐阅读
- java - 如何使用谷歌分析从网站获取特定用户页面视图基于java中的网站userId
- ubuntu-18.04 - 编辑 getty@.service 无法登录 ubuntu 18.04
- nginx - 可以在 Windows 的 nginx 上安装 modsecurity 吗?
- mysql - 如何在本地 laravel 8sai 安装中使用 mysql
- javascript - 嵌套对象值的 JSX 条件渲染
- java - java.lang.UnsatisfiedLinkError:java.library.path 中没有 swt-pi-gtk-2024 或 swt-motif-2024
- file - 在哪里可以找到有关不同音频格式的文件结构的信息?
- c++ - 使用未初始化的 varialbe(int) 进行以后的计算
- javascript - Discord.js 十六进制颜色不起作用,它只是变成灰色
- docker - Docker WSL2 在 4 个套接字 Windows 10 企业中总共有 144 个线程,但在 WSL2 中只有 64 个被识别