pynput这个库让你可以控制和监控输入设备。
对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:
地址:https://pypi.python.org/pypi/pynput
基本用法介绍:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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 ) |
监控鼠标事件 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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() |
键盘输入用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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' ) |
键盘监听:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/botoo/p/8302531.html