首页 > 编程语言 >用 Python 控制你的鼠标和键盘

用 Python 控制你的鼠标和键盘

时间:2024-11-10 13:50:19浏览次数:3  
标签:滚动 鼠标 Python 键盘 操作 pynput 监听

嗨,大家好!今天咱们来聊聊怎么用 Python 操控你的鼠标和键盘,轻松“接管”你的电脑。

通过 pynput 这个库,咱们可以实现对键盘和鼠标的全面掌控,听起来是不是有点酷?而且,比起其他库如 pygamepygletpynput 在操作上更为简单,适合像咱们这种想快速搞定任务的技术人群。好了,废话不多说,马上开干!

1. pynput 库的概述

pynput 是 Python 的一个库,专门用于控制和监控键盘和鼠标的输入操作。和一些图形界面库不同,它特别轻量,不需要 UI 支持,专注于输入设备操作,非常适合写一些小工具、自动化脚本等。

pygame 这种主要用于游戏开发的库不同,pynput 更适合搞点儿自动化的小把戏,比如,自动回复、定时点击啥的,简直就是解放双手必备神器。

2. 鼠标操作

鼠标控制

首先来看看鼠标的基本操作。我们需要导入 pynput.mouse 模块,并创建一个 Controller 对象来操控鼠标。初始化之后,你就可以随意移动鼠标、点击按钮了!

获取和设置鼠标位置

想知道当前鼠标在哪儿?用 position 属性一查便知。如果想直接定位鼠标位置,比如直接跑到屏幕中央,可以这样:

单击和双击操作

这里的单击和双击都是小儿科,pynput 直接给我们提供了 click 方法。想象一下,如果你不想自己鼠标狂点,直接来段代码自动搞定吧!

滚轮滑动

除了点击,滚动也是基本操作,scroll 方法让你可以自定义滚动步数。向上滚动?向下滚动?任你随心所欲!

小贴士:记住不能同时在垂直和水平方向上滚动,pynput 目前不支持“对角线滚动”,一个方向一个方向来。

3. 鼠标监控

如果你想监听鼠标的移动、点击和滚动,可以使用 Listener 来监听事件,比如做一个记录鼠标动作的小工具就很方便。

自动停止监听

监听的过程中,随时可以用一个条件来结束,比如鼠标点击特定位置或者滚动超过一定次数时返回 False 来停止监听。

非阻塞监听

pynput 允许你以非阻塞模式启动监听,这样代码不会卡住。

4. 键盘操作

基本操作

键盘操作和鼠标类似,使用 Controller 类。以下是模拟键盘按键的简单操作:

组合键操作

有时候需要组合键,比如 Ctrl+CAlt+Tab 等。pynput 里,咱们可以直接用 Key 类来定义这些常见的组合键,非常方便!

注意:按组合键时,一定记得按住和释放的顺序,顺序错误会导致奇怪的行为,比如咱们的 Ctrl 键一直没松开,导致后面全成了 Ctrl+某键的操作

标签:滚动,鼠标,Python,键盘,操作,pynput,监听
From: https://blog.csdn.net/weixin_53707653/article/details/143628010

相关文章

  • python中常见的8种数据结构之一列表
    列表是Python中最常见的数据结构之一。它是一种有序的集合,可以包含不同类型的数据。以下是列表的一些特点和常见操作:1.定义列表:可以使用方括号([])来定义一个空列表,也可以在方括号中添加元素来初始化列表。  示例:```my_list=[]```或者```my_list=[1,2,3]```2.......
  • python中常见的8种数据结构之一数组的应用
    在Python中,数组是一种常见的数据结构,用于存储一系列相同类型的元素。在实际应用中,数组可以用于解决各种问题。以下是数组在Python中的一些常见应用:1.存储和访问数据:数组可以用于存储和访问一组数据。可以通过索引访问数组中的元素,也可以使用切片操作来获取数组的子集。2.......
  • Python 深入浅出字符串
    **Python字符串精讲**大家好,我是Giao仔。创作不易请大家多多支持Python的程序中充满了字符串(string),在平常阅读代码时也屡见不鲜。字符串同样是Python中很常见的一种数据类型,比如日志的打印、程序中函数的注释、数据库的访问、变量的基本操作等等,都用到了字符串。......
  • Python自动化运维容器编排与自动化管理
    Python自动化运维容器编排与自动化管理在当今的云计算和微服务架构中,容器化技术已成为现代运维和部署的重要组成部分。为了更高效地管理大量容器和服务,容器编排工具如Kubernetes和DockerSwarm被广泛应用。在这些工具的基础上,Python也能够提供强大的自动化管理与调度能力。......
  • Python的GUI应用,用于实时监控屏幕区域的图片变化
         如何使用Python监控屏幕变化并截图 1、导入所需模块首先,我们需要导入一些Python模块,包括PIL(PythonImagingLibrary)、numpy、os和time。这些模块将帮助我们截取屏幕图像,并进行文件和时间相关的操作。fromPILimportImageGrab#导入ImageGrab模块,用......
  • python实战(七)——基于LangChain的RAG实践
    一、任务目标    基于之前的RAG实战,相信大家对RAG的实现已经有了一定的了解了。这篇文章将使用LangChain作为辅助,实现一个高效、便于维护的RAG程序。二、什么是LangChain        LangChain是一个用于构建大模型应用程序的开源框架,它内置了多个模块化组件。......
  • 综合能源系统分析的统一能路理论(三):《稳态与动态潮流计算》(Python代码实现)
     ......
  • Google Earth Engine Python——PyGEE-SWToolbox地表水分析工具箱
    目录简介功能安装使用方法代码引用BibTeXifrequired:致谢简介一个用于使用GoogleEarthEngine进行交互式地表水映射和分析的PythonJupyter笔记本工具箱        PyGEE-SWToolbox是一个Python-GoogleEarthEngine(GEE)地表水分析工具箱,开发于Jupyter......
  • 100种算法【Python版】第60篇——滤波算法之粒子滤波
    本文目录1算法步骤2算法示例:多目标跟踪3算法应用:多维非线性系统状态模拟粒子滤波(ParticleFilter)是一种基于随机采样的贝叶斯滤波方法,广泛应用于动态系统的状态估计。它通过在状态空间中使用一组随机粒子(样本)来表示后验分布,从而处理非线性和非高斯的状态估计问......
  • 【PAT_Python解】1120 买地攻略
    原题链接:PTA|程序设计类实验辅助教学平台Tips:以下Python代码仅个人理解,非最优算法,仅供参考!多学习其他大佬的AC代码!defcount_purchase_options(N,M,prices):start=0current_sum=0total_count=0forendinrange(N):current_sum+=......