模拟键盘操作执行自动化任务,我们常用的有 pyautowin 等自动化操作模块。但是这些模块有一个很大的缺点,编译的时候非常依赖 windows 的C语言底层模块。

今天介绍的这个模块叫做 keyboard 它有一个最大的优点:纯Python原生开发,编译时完全不需要依赖C语言模块。一行命令就能完成安装,非常方便。

1.准备

首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

请选择以下任一种方式输入命令安装依赖:

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install keyboard

2.基本使用

按下并释放:模拟键盘按下某些键或组合键后释放,比如shift + S, 并增加空格:

import keyboard

keyboard.press_and_release('shift+s, space')

输入文字:

import keyboard

keyboard.write('Python 实用宝典')

等待触发按键并响应:

# 公众号:Python实用宝典
import keyboard

keyboard.add_hotkey('ctrl+shift+a', print, args=('宝典哥触发了热键'))
keyboard.wait()

这样程序就会监控 “ctrl+shift+a” 组合键的触发情况,一旦组合键触发,就会执行第二个参数的函数,并将第三个参数传入第二个函数的参数中。

python的key python的keyboard_python


等待触发某个按键:

# 公众号:Python实用宝典
import keyboard

keyboard.add_hotkey('ctrl+shift+a', print, args=('宝典哥触发了热键'))
keyboard.wait('esc')

这样,按下 ESC 就会终止等待,继续往下运行程序。

3.高级功能

记录功能:

# 公众号:Python实用宝典
import keyboard

recorded = keyboard.record(until='esc')
print(recorded)

python的key python的keyboard_Python入门_02


可以看到,除非你按下esc,它会记录所有执行过的键盘操作。

重放操作:

# 公众号:Python实用宝典
import keyboard

recorded = keyboard.record(until='esc')
print(recorded)
keyboard.play(recorded, speed_factor=3)

play方法能完全模拟你刚记录下的所有键盘操作。

替换操作:

# 公众号:Python实用宝典
import keyboard

keyboard.add_abbreviation('@@', 'Python 实用宝典')
keyboard.wait('esc')

输入@@并按下空格,它会将你刚输入的@@替换为你的内容.

怎么样,这个简单实用的Keyboard模块,你学会使用了吗?




最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。