当前位置:首页>python>别再手敲了!Python控制键盘鼠标的神器,pynput 彻底解放你的双手!

别再手敲了!Python控制键盘鼠标的神器,pynput 彻底解放你的双手!

  • 2026-10-21 13:28:20
别再手敲了!Python控制键盘鼠标的神器,pynput 彻底解放你的双手!

简单说,pynput 就是一个专门用来控制和监控输入设备的 Python 库。它主要负责两块:键盘和鼠标。

你可能听过 pyautogui,但说实话,pynput 在“监听”这块儿做得更细腻。它不仅能让你的程序模拟鼠标点击、键盘打字,还能像个“特务”一样,躲在后台听着你按了哪个键、挪了多远鼠标。最牛的是,它跨平台!Windows、macOS、Linux 通吃,代码写一遍,到处都能跑。

它解决了咱们哪些痛点?

说真的,这库解决的问题全是咱们生活里的“刚需”:

  • • 重复性劳动: 那些没 API 的破软件,只能靠鼠标点?用它写个循环,你喝咖啡去,它在那儿点。
  • • 全局热键: 想给自己的程序设个快捷键?比如按个 Ctrl+Alt+H 就自动截图?pynput 几行代码搞定。
  • • 行为监控: 想分析一下自己一天敲了多少次代码?或者做个防沉迷提醒?它能实时记录你的输入频率。
  • • 自动化测试: 模拟真实用户的各种骚操作,测试软件稳不稳。

安装起来贼简单

别看它功能强,安装就一句话的事儿。打开你的终端(CMD 或终端),输入:

pip install pynput

只要你网络别太拉胯,几秒钟就装好了。

上手实操:鼠标篇

咱们先看怎么控制鼠标。这代码直观得就像在说人话:

from pynput.mouse import Button, Controller

mouse = Controller()

# 获取当前坐标,看看鼠标在哪儿
print(f'当前位置: {mouse.position}')

# 瞬间移动到 (10, 20)
mouse.position = (10, 20)

# 模拟左键点一下
mouse.click(Button.left, 1)

# 模拟滚轮往下滚两格
mouse.scroll(0, 2)

上手实操:键盘篇

键盘控制更爽,连“打字”都能模拟:

from pynput.keyboard import Key, Controller

keyboard = Controller()

# 模拟按下空格
keyboard.press(Key.space)
keyboard.release(Key.space)

# 直接打出一串字符
keyboard.type('Hello World! 关注点赞不迷路')

监听功能:这才是它的灵魂!

很多人用 pynput 其实是为了它的“监听器(Listener)”。比如你想监听用户按了什么键:

from pynput import keyboard

defon_press(key):
print(f'你按下了: {key}')

with keyboard.Listener(on_press=on_press) as listener:
    listener.join()

这段代码一跑,你键盘上的任何风吹草动,程序全知道。

优缺点大实话

咱们不吹不黑,这库虽然牛,但也有它的脾气。我整理了个表格,大家一眼就能看明白:

维度
优点
缺点(注意事项)
易用性
API 设计非常人性化,看一眼就会。
监听器是多线程的,新手容易在线程同步上栽跟头。
功能性
监听功能极强,支持全局热键。
无法拦截(Intercept)系统事件,只能监听。
兼容性
跨平台支持得很好。
在 Linux 下可能需要 root 权限或 X11 环境。
性能
资源占用极低,反应速度快。
回调函数里不能写耗时太长的逻辑,否则会卡死输入。

总结一下

pynput 绝对是 Python 自动化工具箱里的“瑞士军刀”。如果你想做点自动化的脚本,或者想研究下人机交互,这玩意儿你绕不开。它比 pyautogui 更底层一点,灵活性也更高。

最后提醒一句:技术是用来提高效率的,千万别拿去干违法的事,咱们要做有情怀的程序员!

觉得有用的话,点个赞,转发给那个还在手动填表的小伙伴吧!

项目地址:https://github.com/moses-palmer/pynput

最新文章

随机文章