当前位置:   article > 正文

python键盘监听模块大全_python监听、操作键盘鼠标库pynput详细教程

if not pressed: stop listener

§ 0.0.0 前言

监听、操作鼠标、键盘是实现自动化的捷径,比如我实现自动化签到用到了模拟键盘操作。

pynput是监听、操控鼠标和键盘的跨平台第三方python库。

你可以通过pip insnall pynput来安装。安装时会自动下载依赖库。

接下来我会按“鼠标按键”“监听鼠标”“控制鼠标”,

“键盘按键”“监听键盘”“控制键盘”的顺序介绍它的用法。

以下为正文。

§1.0.0 鼠标按键

鼠标的按键在pynput.mouse.Button中,

有lift、right、middle还有unknown四种。

每一个按键都有两个有意义的属性:name和value。

name是该按键的名称,比如 Button.left.name == 'left';

value是记录上一次点击位置的元组。

§1.1.0 监听鼠标

有两种方法,一种是函数式、非阻塞型,另一种是语句式、非阻塞型。

先说第一种,这种是常见的教程所说的方法。

§1.1.1 pynput.mouse.Listener

以下是官网的说明示例:

import pynput, time

def on_move(x, y):

print('Pointer moved to {0}'.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:

# Stop listener

return False

def on_scroll(x, y, dx, dy):

print('Scrolled {0} at {1}'.format(

'down' if dy < 0 else 'up',

(x, y)))

# Collect events until released

with pynput.mouse.Listener(

on_move=on_move,

on_click=on_click,

on_scroll=on_scroll) as listener:

listener.join()

运行这段代码时,移动鼠标会显示其坐标,

按下鼠标按键并松开后,程序结束。

当三个函数任意一个返回False((还有就是释放Exception或继承自Exception的异常)时,就会结束进程。

可以用listener.start()和listener.stop()代替with语句。

§1.1.2 pynput.mouse.Events

个人认为,这个方法比上一个更直观。

import pynput

with pynput.mouse.Events() as event:

for i in event:

#迭代用法。

if isinstance(i, pynput.mouse.Events.Move):

#鼠标移动事件。

print(i.x, i.y)

#不要直接打印`i`,模块这里有问题,会报错。

elif isinstance(i, pynput.mouse.Events.Click):

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/839570
推荐阅读
相关标签
  

闽ICP备14008679号