Simulieren Tastatureingaben in Python
-
Tastatur simulieren mit der Bibliothek
keyboard
in Python -
Simulieren die Tastatur mit der Bibliothek
PyAutoGUI
in Python
Python wird für fast alles verwendet. Mit Python können wir Backends für Webanwendungen, Backends für mobile Anwendungen und APIs mit kostenlosen und Open-Source-Frameworks wie Django
und Flask
entwickeln.
Darüber hinaus erstellen Python-Programme auch effiziente Modelle für maschinelles Lernen mit robusten Bibliotheken wie Keras
, NumPy
, Tensorflow
und PyTorch
, die mit Matplotlib
verschiedene Arten von Plots zeichnen, und vieles mehr.
In diesem Artikel werden wir solche Anwendungsfälle von Python sehen. Wir werden lernen, wie man die Tastatur mit Python simuliert oder steuert.
Wir werden über zwei Open-Source-Python-Bibliotheken sprechen, keyboard
und PyAutoGUI
, mit denen wir unsere Tastatur mit Python-Skripten steuern können.
Tastatur simulieren mit der Bibliothek keyboard
in Python
Die keyboard
-Bibliothek ist eine Open-Source-Bibliothek, mit der Sie die Kontrolle über Ihre Tastatur übernehmen können.
Diese Bibliothek kann Tastaturereignisse abhören und senden, Hotkeys verwenden, Internationalisierung unterstützen und Mausunterstützung mit Hilfe der Maus
-Bibliothek bereitstellen, die wir mit pip install mouse
oder pip3 install mouse
herunterladen können.
Um die Bibliothek keyboard
zu installieren, verwenden Sie einen der beiden folgenden pip
-Befehle.
pip install keyboard
pip3 install keyboard
Lassen Sie uns verstehen, wie diese Bibliothek verwendet wird, um eine Tastatur zu steuern. Sehen Sie sich den folgenden Python-Code für ein einfaches Beispiel an, das etwas Text eingibt.
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")
Ausgabe:
Python is an amazing programming language.
Python
Bevor Sie den obigen Code ausführen, notieren Sie sich Ihren Textcursor oder das Caretzeichen. Der Text oben im Ausgabefeld wird dort automatisch eingegeben.
Die Funktion write()
gibt den String ein, der dieser Funktion als Argument übergeben wird. Diese Funktion sendet künstliche Tastaturereignisse an das Betriebssystem, das beim Caretzeichen weiter getippt wird.
Wenn ein Zeichen auf der Tastatur nicht verfügbar ist, werden stattdessen explizite Unicode-Zeichen eingegeben. Die Funktion press_and_release()
sendet Betriebssystemereignisse, um Hotkeys auszuführen und Zeichen einzugeben, die als Argumente übergeben werden.
Um mehr über diese Bibliothek zu erfahren, lesen Sie ihre Dokumentation hier.
Simulieren die Tastatur mit der Bibliothek PyAutoGUI
in Python
Die Bibliothek PyAutoGUI
lässt uns Python-Skripte schreiben, um Tastatur und Maus zu steuern.
Diese Bibliothek kann den Mauszeiger bewegen und über Fenster und Anwendungen klicken, Tastenereignisse senden, um Zeichen einzugeben und Hotkeys auszuführen, Screenshots machen, Anwendungen auf dem Bildschirm verschieben, in der Größe ändern, minimieren, maximieren und lokalisieren sowie Warnmeldungen anzeigen usw.
Verwenden Sie zum Installieren dieser Bibliothek einen der folgenden Befehle.
pip install pyautogui
pip3 install pyautogui
Für unseren Anwendungsfall können wir die Bibliothek PyAutoGUI
verwenden. Beachten Sie dazu den folgenden Code.
import pyautogui
pyautogui.write("Python is an amazing programming language.")
Ausgabe:
Python is an amazing programming language.
Wie wir sehen können, gibt die Funktion write()
Zeichen der Zeichenfolge ein, die als Argument am Caretzeichen übergeben wird. Diese Funktion kann nur Einzelzeichentasten wie Buchstaben und Zahlen drücken.
Das bedeutet, dass wir keine Tasten wie Shift, Ctrl, Command, Alt, Option, F1 und F3 nicht drücken können. Wir können die Methoden keyDown()
und keyUp()
verwenden, um solche Tasten zu drücken.
Die Methode keyDown()
drückt eine Taste und hält sie gedrückt. Und die Methode keyUp()
gibt eine gehaltene Taste frei.
Ein Beispiel finden Sie im folgenden Python-Code. Vergessen Sie nicht, die Position Ihres Textcursors oder Caretzeichens zu notieren.
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")
Ausgabe:
ABCxyzABC
Um Tasten wie Shift+F zu drücken, können wir auch die Methode press()
verwenden. Diese Funktion drückt alle Tasten, die als Zeichenfolge übergeben werden.
Hinter den Kulissen ist diese Funktion nur ein Wrapper für die Methoden keyDown()
und keyUp()
.
Um mehr über diese Bibliothek zu erfahren, lesen Sie ihre Dokumentation hier.