python实战===python控制键盘鼠标:pynput

Python控制键盘鼠标:pynput

地址:https://pypi.python.org/pypi/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))

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

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

原文地址:https://www.cnblogs.com/botoo/p/8302531.html

时间: 2024-11-05 16:07:13

python实战===python控制键盘鼠标:pynput的相关文章

谈谈Python实战数据可视化之pygal模块(实战篇)

前沿 通过上一节谈谈Python实战数据可视化之pygal模块(基础篇)的学习,我们对pygal模块的使用有了初步的了解,本节将以实战项目来加深pygal模块的使用.从网上可以下载JSON格式的人口数据,并使用json模块来处理它们,pygal模块提供了一个适合初学者使用的地图创建工具,我们将使用它来对人口数据进行可视化,以探索全球人口的分布情况.针对JSON格式的人口数据文件,可以通过谈谈Python实战数据可视化之matplotlib模块(实战篇)章节的配套资源来下载.对于本人在学习和编码过

手把手教导实战Python Web项目

手把手教导实战Python Web项目 一.前言 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包.这使得Django具有很强的可扩展性. 二.开发环境 Python3.7.4 Django2.0 Django安装 安装

BoW图像检索Python实战

下文来自我的博客:BoW图像检索Python实战 前几天把HABI哈希图像检索工具包更新到V2.0版本后,小白菜又重新回头来用Python搞BoW词袋模型,一方面主要是练练Python,另一方面也是为了CBIR群开讲的关于图像检索群活动第二期而准备的一些素材.关于BoW,网上堆资料讲得挺好挺全的了,小白菜自己在曾留下过一篇讲解BoW词袋构建过程的博文Bag of Words模型,所以这里主要讲讲BoW的实战.不过在实战前,小白菜还想在结合自己这两年多BoW的思考和沉淀重新以更直白的方式对BoW做

Python实战:美女图片下载器,海量图片任你下载

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上Python实战:Python爬虫学习教程,获取电影排行榜,再次升级的Python网页爬虫实战课程. 1.项目概述. 利用XPath和requests模块进行网页抓取与分析,达到网页图片下载的效果. 抓爬图片地址:http://www.2c

Python实战:Python爬虫学习教程,获取电影排行榜

Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习Python这门语言. 本文是在前一部分Python基础之上程序员带你十天快速入门Python,玩转电脑软件开发(四),再次进行的Python爬虫实战课程. 正则表达式实例简单详解 正则表达式干什么用? 就是在字符串中提取我们需要的内容的. 记得哦,要先引用正则表达式模块的哦. re就是正则表达式相

zeromq 学习和python实战

参考文档: 官网 http://zeromq.org/ http://www.cnblogs.com/rainbowzc/p/3357594.html 原理解读 zeromq只是一层针对socket的封装,介于传输层和应用层之间,并不是单独的服务或者程序,仅仅是一套组件. zeromq使用c语言编写,相应速度非常快. 主要有以下几个部分: - 主线程:负责相应用户的请求,比如创建zmq等 - IO线程:主要负责网络IO的调度,每个IO线程会对应一个异步poll(如select,epoll等),使

Python实战之自己主动化评论

Python实战之自己主动化评论 玩csdn博客一个多月了,渐渐发现了一些有意思的事,常常会有人用相同的评论到处刷.不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情当然最好能够自己主动化咯.自己也来试了一把,纯属娱乐. 登陆 要评论当然要能够先进行登陆,採用 requests 库进行处理,尝试是否能看到自己的消息列表: msg_url ="http://msg.csdn.net/" r = requests.get(msg_url, auth=('d

Python入门到实战 Python的修炼之道

Python的修炼之道(入门语法.游戏开发.网络编程) 课程讲师:小强老师 课程分类:Python 适合人群:初级 课时数量:43课时 用到技术:Python 涉及项目:数据库应用程序开发 游戏开发 咨询QQ:1337192913 课程设计思路及目标: 本课程以实际问题为核心进行组织和编写,以框图为工具来描述问题的解决步骤,最终用Python语言写出程序,旨在培养学员从整体上思考问题和把握问题,并以一种直观的方式描述问题的解决步骤,训练学员用简洁而快速的方式编写程序.本课程以培养学生的编程思想和

Python实战之KNN实现

Python实战之KNN实现 用Python来实现K近邻分类算法(KNN)已经是一个老生常谈的问题,网上也已经有诸多资料,不过这里我还是决定记录一下自己的学习心得. 1.配置numpy库 numpy库是Python用于矩阵运算的第三方库,大多数数学运算都会依赖这个库来进行,关于numpy库的配置参见:Python配置第三方库Numpy和matplotlib的曲折之路,配置完成后将numpy库整体导入到当前工程中. 2.准备训练样本 这里简单的构造四个点并配以对应标签作为KNN的训练样本: # =