在 Python 中模拟键盘输入

Python 几乎可以用于任何事情。使用 Python,我们可以开发 Web 应用程序的后端、移动应用程序的后端以及使用免费和开源框架(例如 Django 和 Flask)的 API。

此外,Python 程序还使用诸如 KerasNumPyTensorflow 和 PyTorch 等强大的库创建高效的机器学习模型,这些库使用 Matplotlib 绘制各种图等等。

在本文中,我们将看到 Python 的此类用例。我们将学习如何使用 Python 模拟或控制键盘。

我们将讨论两个开源 Python 库,keyboard 和 PyAutoGUI,让我们使用 Python 脚本控制键盘。

在 Python 中使用 keyboard 库模拟键盘

keyboard 库是一个开源库,用于控制你的键盘。

这个库可以监听和发送键盘事件,使用热键,支持国际化,并在 mouse 库的帮助下提供鼠标支持,我们可以使用 pip install mouse 或 pip3 install mouse 下载。

要安装 keyboard 库,请使用以下两个 pip 命令之一。

pip install keyboard
pip3 install keyboard

让我们了解如何使用这个库来控制键盘。有关键入一些文本的简单示例,请参阅以下 Python 代码。

import keyboard

keyboard.write("Python is an amazing programming language.")
keyboard.press_and_release("enter")
keyboard.press_and_release("shift+p")
keyboard.press_and_release("y")
keyboard.press_and_release("t")
keyboard.press_and_release("h")
keyboard.press_and_release("o")
keyboard.press_and_release("n")

输出:

Python is an amazing programming language.
Python

在 Python 中模拟键盘输入

在运行上述代码之前,请记下你的文本光标或插入符号。输出框中上面的文本将自动在那里输入。

write() 函数将输入作为参数传递给此函数的任何字符串。此函数将人工键盘事件发送到操作系统,然后在插入符号处进一步键入。

如果键盘上没有任何字符可用,则键入明确的 Unicode 字符。press_and_release() 函数发送操作系统事件以执行热键并键入作为参数传递的字符。

在 Python 中使用 PyAutoGUI 库模拟键盘

PyAutoGUI 库让我们可以编写 Python 脚本来控制键盘和鼠标。

该库可以移动鼠标光标并单击窗口和应用程序,发送键事件以键入字符并执行热键、截屏、移动、调整大小、最小化、最大化和定位屏幕上的应用程序,以及显示警报消息等。

要安装此库,请使用以下任一命令。

pip install pyautogui
pip3 install pyautogui

我们可以将 PyAutoGUI 库用于我们的用例。请参阅以下代码。

import pyautogui

pyautogui.write("Python is an amazing programming language.")

输出:

Python is an amazing programming language.

在 Python 中模拟键盘输入

正如我们所看到的,write() 函数将字符串的字符类型作为插入符号处的参数传递。此功能只能按字母和数字等单字符键。

这意味着我们不能按 ShiftCtrlCommandAltOption< 等键/kbd>、F1 和 F3。我们可以使用 keyDown() 和 keyUp() 方法来按下这些键。

keyDown() 方法按下一个键并一直按住它。keyUp() 方法释放一个持有的键。

有关示例,请参阅以下 Python 代码。不要忘记记下文本光标或插入符号的位置。

import pyautogui

pyautogui.keyDown("shift")
pyautogui.press("a")
pyautogui.press("b")
pyautogui.press("c")
pyautogui.keyUp("shift")
pyautogui.press("x")
pyautogui.press("y")
pyautogui.press("z")
pyautogui.keyDown("shift")
pyautogui.press("a")
pyautogui.keyUp("shift")
pyautogui.keyDown("shift")
pyautogui.press("b")
pyautogui.keyUp("shift")
pyautogui.keyDown("shift")
pyautogui.press("c")
pyautogui.keyUp("shift")

输出:

ABCxyzABC

在 Python 中模拟键盘输入

要按下 Shift+F 等键,我们还可以使用 press() 方法。此函数将按下作为字符串传递的任何键。

在幕后,这个函数只是 keyDown() 和 keyUp() 方法的包装。