使用 Python 控制自己的电脑和键盘是一种什么样的体验?

可能有时候你需要在电脑做一些重复的点击或者提交表单等操作,如果能通过 Python 预先写好相关的操作指令,让它帮你操作,然后你自己爱干嘛干嘛去,有点 “按键精灵” 的意思,是不是感觉有点爽呢?

那么如何使用 Python 来控制我们的鼠标和键盘呢?

接下来就是:

学习 Python 的正确姿势

点此免费领取:优快云大礼包:《python学习路线&全套学习资料》免费分享
在这里插入图片描述
我们可以先安装一下 pyauogui 这个库,通过它你就可以写一些 Python 脚本来控制你的鼠标和键盘了,比如你可以定义鼠标在哪个位置点击,定义键盘在什么时候输入什么内容等,从而达到自动化操作所有你想要操作的软件应用,值得说的一点是,他可以运行在 Win、MacOS、Linux平台上。

你可以通过 pip 进行安装:

python3 -m pip install pyautogui

安装完之后,就可以使用它了,比如我们现在想要知道鼠标的位置就可以通过 position 方法获取:
在这里插入图片描述
也可以写一个方法来实时获取鼠标的位置:
在这里插入图片描述
通过 while 循环不断监听鼠标当前的位置,运行一波就是这样:
在这里插入图片描述
想要调用鼠标的点击方法可以这样:

单击:

>>> pyautogui.click()

右击:

>>> pyautogui.click(button='right')

双击:

>>> pyautogui.doubleClick()

比如现在我的桌面有一张帅照:
在这里插入图片描述
想使用 Python 来操作鼠标去打开它,那么就可以这样,把鼠标轻轻的放在帅照上面,然后获取一下鼠标在这个位置的坐标:
在这里插入图片描述
可以发现这张照片的位置是在 (74,197),那么就可以调用鼠标的双击方法:
在这里插入图片描述
我们在 doubleClick 方法中传入了坐标位置,所以它可以将鼠标移动的位置进行双击。

当然,你也可以调用 moveTo 方法来移动鼠标,比如让鼠标移动到 100,200 的位置就可以这样:

pg.moveTo(100,200,2)
在这里插入图片描述

这里的 2 是移动秒数的意思,默认为 0.1 ,快速移动的那种。

想要拖拽鼠标,可以调用 dragTo 方法,比如:

pg.dragTo(300, 400, 2, button=‘left’)
在这里插入图片描述
表示的是从当前位置拖动到指定坐标的位置,其中的 2 代表移动时间,button 可以设置是左键还是右键。
在这里插入图片描述
接着我们来操作键盘

可以同过 press 来调用键盘的操作,比如:

按下回车:

>>> pyautogui.press('enter')

按下左键:

>>> pyautogui.press('left')

按下 CTRL:

>>> pyautogui.press('ctrl')

快捷键的话可以使用 hotkey 方法,比如:

按下 Ctrl + Shift + T:

>>> pyautogui.hotkey('ctrl', 'shift', 't')

复制:

>>> pyautogui.hotkey('ctrl', 'c')

按住不动可以使用 keyDown 方法,释放按键可以使用 keyUp 方法,比如:

切换窗口:
在这里插入图片描述
运行一波就是这样:
在这里插入图片描述
刚刚的 pg.PAUSE=1 指的是每隔一秒执行一个操作指令。

想要控制键盘输入内容,可以使用 write 方法,比如:

输入 fxxkpython:

pg.write(‘fxxk Python !’, interval=0.3)
在这里插入图片描述
知道了这些你就可以去玩一些有意思的事了,举几个简单的例子给你乐呵乐呵。

比如指定它去浏览器搜索内容:

在这里插入图片描述
运行一波就是这样:
在这里插入图片描述
是不是有点 selenium 的内味了。
在这里插入图片描述
又比如操作它去微信聊天:
在这里插入图片描述
运行一波:
在这里插入图片描述

再举一个官方的例子,你可以让它去画图:

在这里插入图片描述

运行一波就是这样:
在这里插入图片描述
ok,以上就是小帅b今天给你带来的分享,看完这个,自动填写表单啥的不在话下了吧?希望对你有帮助,那么我们下回见,peace!

想要看更多好玩的 Python 教程,可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。

本系列课程为Python实战系列课程:使用微信控制电脑使用Python的Web框架Flask搭建网页, 并使用网页控制电脑使用wxPython编写图形化的程序,并进一步将这个程序发展为远程控制程序。 课程目录: |--|----|----1 微信远控:Python 控制电脑的两种方法 |--|----|----|----1 课程介绍.mp4 |--|----|----|----2 命令提示符 CMD 入门.mp4 |--|----|----|----3 Python 执行 CMD 命令.mp4 |--|----|----|----4 Python 调用 Win API.mp4 |--|----|----2 微信远控:让微信控制电脑 |--|----|----|----1 微信控制电脑原理.mp4 |--|----|----|----2 新浪邮箱的设定.mp4 |--|----|----|----3 Python 收发邮件.mp4 |--|----|----|----4 微信控制电脑的实现.mp4 |--|----|----|----5 沙盘化的微信远控.mp4 |--|----|----3 Flask 快速搭建网站 |--|----|----|----1 课程介绍.mp4 |--|----|----|----2 Flask 与 BootStrap 搭建网页.mp4 |--|----|----|----3 Flask 操作数据库.mp4 |--|----|----4 网页控制电脑 |--|----|----|----1 课程介绍.mp4 |--|----|----|----2 建立通信.mp4 |--|----|----|----3 轮询与推送.mp4 |--|----|----|----4 网页控制电脑.mp4 |--|----|----5 Python 图形程序入门 |--|----|----|----1 wxPython 介绍与安装.mp4 |--|----|----|----2 基本控件介绍与绝对布局.mp4 |--|----|----|----3 控件相对布局.mp4 |--|----|----|----4 多线程与事件.mp4 |--|----|----6 编写图形界面的远程控制程序 |--|----|----|----1 远程控制程序的需求分析.mp4 |--|----|----|----2 Socket 通信.mp4 |--|----|----|----3 受控端功能强化.mp4 |--|----|----|----4 远程控制软件的实现与测试.mp4 |--|----|----7 开发远程控制程序高级功能 |--|----|----|----1 高级功能概述.mp4 |--|----|----|----2 读写剪贴板.mp4 |--|----|----|----3 使用 Python 截图.mp4 |--|----|----|----4 Python 上传文件.mp4 |--|----|----|----5 结课总结.mp4
### S0状态详解 S0是ACPI(高级配置与电源接口)定义的系统电源状态之一,代表系统的正常工作状态。在S0状态下,系统的所有组件都处于完全供电状态,可以随时响应用户的输入执行任务。 #### 表现特点 1. **全功率运行**:在S0状态下,所有硬件设备包括CPU、内存、硬盘、风扇等都处于全功率运行状态,能够提供最佳性能[^1]。 2. **即时响应**:用户可以通过键盘、鼠标或其他输入设备立即与系统交互,无需等待系统从低功耗状态唤醒。 3. **高能耗**:由于所有组件都在运行,因此S0状态下的能耗最高,这对于电池供电的笔记本电脑来说意味着更快的电量消耗。 4. **散热需求**:因为所有部件都在工作,所以需要有效的散热机制来防止过热,这通常通过内置风扇其他冷却系统实现。 #### 与其他状态的区别 - **与S1状态对比**:在S1休眠模式下,只有CPU停止工作,而其他设备如硬盘、风扇等仍然保持供电。这意味着虽然功耗有所降低,但系统仍能较快恢复到S0状态。然而,在S0状态下,所有设备都是活跃的,提供了完整的功能性性能。 - **与S3状态对比**:S3状态是一种更低功耗的状态,其中除了内存外的所有设备都会被断电。进入S3状态后,系统会保存内存中的数据,并在唤醒时快速恢复这些数据。相比之下,S0状态不需要任何恢复过程,因为系统始终处于活动状态[^1]。 #### 应用场景 S0状态适用于需要持续高性能的应用场景,例如游戏、视频编辑或大型软件开发等。在这种状态下,用户可以获得最快的响应速度最高的处理能力,确保流畅的工作体验。 ```python # 示例代码:检查当前系统电源状态(假设存在这样的API) def check_power_state(): # 假设调用了一个系统API来获取当前电源状态 current_state = get_acpi_power_state() if current_state == 'S0': print("系统当前处于S0状态,所有设备均处于全功率运行状态。") elif current_state == 'S1': print("系统当前处于S1状态,CPU已停止工作,其他设备仍处于加电状态。") elif current_state == 'S3': print("系统当前处于S3状态,除内存外其他设备均处于断电状态。") else: print(f"未知的电源状态: {current_state}") # 模拟获取ACPI电源状态的函数 def get_acpi_power_state(): # 这里返回一个模拟值,实际应用中应调用真实的系统API return 'S0' check_power_state() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值