博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python控制键盘鼠标:pynput,mouse,keyboard
阅读量:4923 次
发布时间:2019-06-11

本文共 1698 字,大约阅读时间需要 5 分钟。

mouse:顾名思义,是控制鼠标的模块,本篇不打算介绍,有兴趣可以看官网

keyboard:同样,是控制键盘的模块,可以完全控制键盘,本篇不打算介绍,源码很少,有兴趣可以看官网

一.介绍

pynput这个库让你可以控制和监控输入设备,它包含一个子模块来控制和监控该种输入设备:

  • pynput.mouse:包含控制和监控鼠标或者触摸板的类。

  • pynput.keyboard:包含控制和监控键盘的类。

两个子模块的结构,两者结构相同

二.实例

2.1  pynput.mouse

 

from pynput.mouse import Button, Controller,Listener# Controller类m = Controller()print('鼠标的坐标:{0}'.format(m.position))m.position = (500, 200)print('设置鼠标的坐标:{0}'.format(m.position))# 相对于当前位置移动鼠标m.move(m.position[0],m.position[1])# 按下鼠标左键以及松开鼠标左键,按下并不是点击m.press(Button.left)m.release(Button.left)#双击鼠标右键m.click(Button.right, 2)#滚动m.scroll(0, 2)# Listener类,监听鼠标事件def on_move(x, y):    print('移动到了:{0}'.format((x, y)))def on_click(x, y, button, pressed):    print('{0} at {1}'.format('按下' if pressed else '松开',(x, y)))    if not pressed:        # 停止监听        return False# 监听滚动事件def on_scroll(x, y, dx, dy):    print('滚动到: {0}'.format((x, y)))with Listener(on_move=on_move,on_click=on_click,on_scroll=on_scroll) as listener:    listener.join()
pynput.mouse

运行结果:

 

2.2  pynput.keyboard

keyboard是支持线程的

 

from pynput.keyboard import Key, Controller,Listenerkeyboard = Controller()# 按下空格和释放空格keyboard.press(Key.space)keyboard.release(Key.space)# 按下a键和释放a键keyboard.press('a')keyboard.release('a')# 按下shift,但是物理端不换,只对本次设置有效with keyboard.pressed(Key.shift):    keyboard.press('a')    keyboard.release('a')    keyboard.press('b')keyboard.type('Hello World')def on_press(key):    print('{0} 被按下'.format(key))def on_release(key):    print('{0} 被释放'.format(key))    if key == Key.esc:        return False# 创建监听with Listener(on_press=on_press,on_release=on_release) as listener:    listener.join()
pynput.keyboard

 

运行结果:

 

 

 reference:

转载于:https://www.cnblogs.com/ganiner/p/9975946.html

你可能感兴趣的文章
RESTful-rest_framework应用第一篇
查看>>
Console命令详解,让调试js代码变得更简单
查看>>
hdu4908 & BestCoder Round #3 BestCoder Sequence(组合数学)
查看>>
Excel 导出
查看>>
拉登是我罩的队_第三周_需求改进&原型设计
查看>>
数据库got error 28 from storage engine问题
查看>>
RMQ 总结
查看>>
手撸ORM
查看>>
POJ---2406 Power Strings[求最长重复字串]
查看>>
005-(已测试成功的方案)kickstart模式实现批量安装centos7.x系统
查看>>
linux搭建haproxy
查看>>
Oracle update 日期
查看>>
【t088】倒水
查看>>
【t016】邮递员
查看>>
boost安装
查看>>
Vue与React的异同
查看>>
360:跳高游戏
查看>>
CSS3 Background-size
查看>>
Python Ethical Hacking - MAC Address & How to Change(3)
查看>>
生成验证码
查看>>