python使用笔记:pynput库控制键盘鼠标
Posted 丘木木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python使用笔记:pynput库控制键盘鼠标相关的知识,希望对你有一定的参考价值。
pynput这个库让你可以控制和监控输入设备。
对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:
- pynput.mouse:包含控制和监控鼠标或者触摸板的类。
- pynput.keyboard:包含控制和监控键盘的类。
基本用法介绍:
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))
#设置鼠标位置
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()
以上是关于python使用笔记:pynput库控制键盘鼠标的主要内容,如果未能解决你的问题,请参考以下文章
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
做了个python3 pynput 监控鼠标键盘操作并回放的模块