python - 如何将“KeyboardInterrupt”命令替换为另一个键?
问题描述
我有以下代码:
while True:
try:
#DoSomething
except KeyboardInterrupt:
break
但我不想使用Crtl + C,而是想键入另一个键来结束循环。我怎样才能做到这一点?
解决方案
您可以使用该keyboard
模块:
import keyboard
while True:
if keyboard.is_pressed("some key"):
break
do_something()
这将继续做某事,直到some key
被按下。然后,它将跳出无限循环。
要捕获热键,请使用以下add_hotkey
功能:
import keyboard
def handle_keypress(key):
global running
running = False
print(key + " was pressed!")
running = True
keyboard.add_hotkey("ctrl+e", lambda: handle_keypress("Ctrl-E"))
while running:
do_something()
或者您可以使用pynput
:
from pynput.keyboard import Listener
def on_press(key):
print('{0} pressed'.format(
key))
with Listener(
on_press=on_press) as listener:
listener.join()
推荐阅读
- php - 使用 Fortify Laravel 8 使用电子邮件或用户名登录
- flutter - 在 Flutter/Dart 中有单例 + Provider 可以吗?
- c - 为什么我可以在 windows 中访问 unistd.h?
- javascript - JQuery单击复选框以显示来自div的特定字段
- electron - electron-builder 无法在 macos 上构建 linux 包 - 错误:未知目标:构建
- node.js - 如何在应用洞察中编写 node js azure 函数日志?
- vb.net - 加载所有控件后如何显示用户控件?
- python - 抓取表错误 [WinError 10054] 现有连接被远程主机强行关闭
- android-studio - “无法运行 adb.exe,请检查您的 android sdk 安装和 ANDROID_SDK_ROOT”,当我运行颤振医生时显示
- python - Python - 从上传的文件中读取 \x 字符