pynput概述
pynput是一个基于python的,能够监听和控制鼠标和键盘的第三方库。
pynput主要包括两个类,pynput.mouse和pynput.keyboard,顾名思义,前者可以用来控制和监听鼠标(或者触控板?),后者可以用来控制和监听键盘。
pynput官方文档
如何使用
安装
pip install pynput
导入
from pynput import mouse, keyboard
定义监听函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| def on_click(x, y, button, pressed): if button == mouse.Button.middle and pressed: print("middle pressed") elif button == mouse.Button.middle and (not pressed): print("middle not pressed")
def on_press(key): try: if key.char in ['1','2','3']: print(key.char) except AttributeError: print('special key {0} pressed'.format(key))
|
定义监听键盘函数时,一定要使用try except捕获AttributeError异常,否则按到诸如ctrl或者shift之类的按键会报错。
监听
1 2 3 4 5 6 7
| mouse_listener = mouse.Listener(on_click=on_click) mouse_listener.start()
with keyboard.Listener(on_press=on_press) as keyboardListener: keyboardListener.join()
|
一个要用非阻塞方式,另一个要用阻塞方式才行,如果只监听其中一个,那么需要监听的那个用阻塞方式。