在 Python 中模拟键盘输入
Python 几乎可以用于任何事情。使用 Python,我们可以开发 Web 应用程序的后端、移动应用程序的后端以及使用免费和开源框架(例如 Django
和 Flask
)的 API。
此外,Python 程序还使用诸如 Keras
、NumPy
、Tensorflow
和 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
在运行上述代码之前,请记下你的文本光标或插入符号。输出框中上面的文本将自动在那里输入。
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.
正如我们所看到的,write()
函数将字符串的字符类型作为插入符号处的参数传递。此功能只能按字母和数字等单字符键。
这意味着我们不能按 Shift、Ctrl、Command、Alt、Option< 等键/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
要按下 Shift+F 等键,我们还可以使用 press()
方法。此函数将按下作为字符串传递的任何键。
在幕后,这个函数只是 keyDown()
和 keyUp()
方法的包装。
要了解有关此库的更多信息,请参阅此文档。