时间:2020-11-06 10:17:26 | 栏目:Python代码 | 点击:次
pynput这个库让你可以控制和监控输入设备。
对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:
地址:https://pypi.python.org/pypi/pynput
基本用法介绍:
from pynput.mouse import Button, Controller import time mouse = Controller() print(mouse.position) time.sleep(3) print('The current pointer position is {0}'.format(mouse.position)) #set pointer positon mouse.position = (277, 645) print('now we have moved it to {0}'.format(mouse.position)) #鼠标移动(x,y)个距离 mouse.move(5, -5) print(mouse.position) mouse.press(Button.left) mouse.release(Button.left) #Double click mouse.click(Button.left, 1) #scroll two steps down mouse.scroll(0, 500)
监控鼠标事件 :
from pynput import mouse def on_move(x, y ): print('Pointer moved to {o}'.format( (x,y))) def on_click(x, y , button, pressed): print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y))) if not pressed: return False def on_scroll(x, y ,dx, dy): print('scrolled {0} at {1}'.format( 'down' if dy < 0 else 'up', (x, y))) while True: with mouse.Listener( no_move = on_move,on_click = on_click,on_scroll = on_scroll) as listener: listener.join()
键盘输入用法:
from pynput.keyboard import Key, Controller keyboard = Controller() # 按下空格和释放空格 #Press and release space keyboard.press(Key.space) keyboard.release(Key.space) # 按下a键和释放a键 #Type a lower case A ;this will work even if no key on the physical keyboard is labelled 'A' keyboard.press('a') keyboard.release('a') #Type two upper case As keyboard.press('A') keyboard.release('A') # or with keyboard .pressed(Key.shift): keyboard.press('a') keyboard.release('a') #type 'hello world ' using the shortcut type method keyboard.type('hello world')
键盘监听:
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: return False while True: with keyboard.Listener( on_press = on_press, on_release = on_release) as listener: listener.join()
对于鼠标来说,api就上面几个。但是对于键盘来说还要别的,详细的查看:http://pythonhosted.org/pynput/index.html