Python控制键盘鼠标pynput的详细用法


Posted in Python onJanuary 28, 2019

pynput这个库让你可以控制和监控输入设备。

对于每一种输入设备,它包含一个子包来控制和监控该种输入设备:

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

地址:https://pypi.python.org/pypi/pynput

基本用法介绍:

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)

监控鼠标事件 :

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()

对于鼠标来说,api就上面几个。但是对于键盘来说还要别的,详细的查看:http://pythonhosted.org/pynput/index.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python读写文件操作示例程序
Dec 02 Python
在python 中实现运行多条shell命令
Jan 07 Python
Python读取stdin方法实例
May 24 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
Python批量修改图片分辨率的实例代码
Jul 04 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
python实现的发邮件功能示例
Sep 11 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Python二元赋值实用技巧解析
Oct 25 Python
Python通过字典映射函数实现switch
Nov 06 Python
如何用python清洗文件中的数据
Jun 18 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 #Python
对python3中, print横向输出的方法详解
Jan 28 #Python
Python删除n行后的其他行方法
Jan 28 #Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 #Python
Python实现统计英文文章词频的方法分析
Jan 28 #Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 #Python
Python判断变量名是否合法的方法示例
Jan 28 #Python
You might like
咖啡语言
2021/03/03 咖啡文化
坏狼的PHP学习教程之第2天
2008/06/15 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
文本框文本自动补全效果示例分享
2014/01/19 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
python判断自身是否正在运行的方法
2019/08/08 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
简单介绍django提供的加密算法
2019/12/18 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python中and和or如何使用
2020/05/28 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
python高级特性简介
2020/08/13 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
项目采购员岗位职责
2014/04/15 职场文书
销售岗位职责范本
2014/06/12 职场文书
装配出错检讨书
2014/09/23 职场文书
民主评议党员总结
2014/10/20 职场文书
琅琊山导游词
2015/02/05 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
工资证明格式模板
2015/06/12 职场文书
海底两万里读书笔记
2015/06/26 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL