Python 3.x 如何在不打开终端窗口的情况下等待python3中按下热键?
我想要某种封锁,直到按下某个热键。我很乐意使用类似输入(“按Enter键继续”)的功能,除了这需要我的屏幕在终端页面上,我希望这可以在我专注于另一个窗口时拾取我的按键 Luis Jose在这里提出的解决方案似乎很有效,而且我已经在使用opencv进行SmoEthing了,这很好,所以它被导入了:但是运行代码对我来说没有任何作用,它没有发现我按下了“a”并且永远停留在循环中的事实Python 3.x 如何在不打开终端窗口的情况下等待python3中按下热键?,python-3.x,opencv,pynput,Python 3.x,Opencv,Pynput,我想要某种封锁,直到按下某个热键。我很乐意使用类似输入(“按Enter键继续”)的功能,除了这需要我的屏幕在终端页面上,我希望这可以在我专注于另一个窗口时拾取我的按键 Luis Jose在这里提出的解决方案似乎很有效,而且我已经在使用opencv进行SmoEthing了,这很好,所以它被导入了:但是运行代码对我来说没有任何作用,它没有发现我按下了“a”并且永远停留在循环中的事实 import cv2 while (1): k=0xFF & cv2.waitKey(1)
import cv2
while (1):
k=0xFF & cv2.waitKey(1)
if k == ord('a'):
break
当使用cv2.imshow创建显示窗口并希望停止显示时,cv2.waitKey设计为工作,因此上述代码将不起作用。这是有道理的,因为opencv被设计成一个图像和视频处理工具箱。您可以尝试使用pynput包
from pynput import keyboard
def on_press(key):
try:
print('alphanumeric key {0} pressed'.format(
key.char))
except AttributeError:
print('special key {0} pressed'.format(
key))
def on_release(key):
print('{0} released'.format(
key))
if key == keyboard.Key.esc:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
按esc键时,上述代码终止。
有关软件包的更多详细信息,请访问: