Python pynput在MacOS上返回的字符太多
在MacOS Mojave和python 2.7.15上,以下代码:Python pynput在MacOS上返回的字符太多,python,pynput,Python,Pynput,在MacOS Mojave和python 2.7.15上,以下代码: from pynput import keyboard def on_press(key): print('Key {} pressed.'.format(key)) def on_release(key): print('Key {} released.'.format(key)) if str(key) == 'Key.esc': print('Exiting...')
from pynput import keyboard
def on_press(key):
print('Key {} pressed.'.format(key))
def on_release(key):
print('Key {} released.'.format(key))
if str(key) == 'Key.esc':
print('Exiting...')
return False
with keyboard.Listener(
on_press = on_press,
on_release = on_release) as listener:
listener.join()
按顺序按下“h j s escape”键时产生此输出
hKey 'h' pressed.
Key 'h' released.
Key 'j' pressed.
jKey 'j' released.
Key 's' pressed.
sKey 's' released.
Key Key.esc pressed.
^[Key Key.esc released.
Exiting...
%hjs
我不明白为什么
1) 字母“h”位于on_press功能输出之前
2) 在on_释放功能的输出之前,字母“j”、“s”和“^[Key”
3) 程序执行结束后,在终端提示后出现字母“hjs”
我有一种感觉,键盘输入被pynput截获,但pynput在程序执行过程中会再次将其回显到终端。这可以被抑制吗?但在程序结束后,字母会再次出现。这些字母是从哪里来的?我如何抑制这种行为
我试图添加非阻塞键盘输入,以退出一个循环不断运行的程序