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