pynput這個庫讓你可以控制和監(jiān)控輸入設(shè)備。
對于每一種輸入設(shè)備,它包含一個子包來控制和監(jiān)控該種輸入設(shè)備:
pynput.mouse:包含控制和監(jiān)控鼠標或者觸摸板的類。 pynput.keyboard:包含控制和監(jiān)控鍵盤的類。地址:https://pypi.python.org/pypi/pynput
基本用法介紹:
from pynput.mouse import Button, Controllerimport time mouse = Controller()print(mouse.position)time.sleep(3)print('The current pointer position is {0}'.format(mouse.position))#set pointer positonmouse.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 clickmouse.click(Button.left, 1)#scroll two steps downmouse.scroll(0, 500)監(jiān)控鼠標事件 :
from pynput import mousedef 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 Falsedef 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, Controllerkeyboard = Controller()# 按下空格和釋放空格#Press and release spacekeyboard.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 Askeyboard.press('A')keyboard.release('A')# or with keyboard .pressed(Key.shift): keyboard.press('a') keyboard.release('a')#type 'hello world ' using the shortcut type methodkeyboard.type('hello world')鍵盤監(jiān)聽:
from pynput import keyboarddef 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 Falsewhile True: with keyboard.Listener( on_press = on_press, on_release = on_release) as listener: listener.join()對于鼠標來說,api就上面幾個。但是對于鍵盤來說還要別的,詳細的查看:http://pythonhosted.org/pynput/index.html
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答