在 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()
方法的包裝。
要了解有關此庫的更多資訊,請參閱此文件。