python中pynput庫的具體使用
更新時間:2024年09月23日 09:51:02 作者:pumpkin84514
pynput是Python庫,支持跨平臺控制和監(jiān)聽鍵盤、鼠標輸入,包含keyboard和mouse模塊,用于處理鍵盤事件和鼠標事件,本文就來詳細的介紹一下,感興趣的可以了解一下
pynput 是一個 Python 庫,用于控制和監(jiān)聽鍵盤與鼠標輸入。它在 Windows、macOS 和 Linux 上都可以工作,為用戶提供了一個跨平臺的輸入事件處理方式。pynput 包含兩個主要模塊:keyboard 和 mouse,分別用于處理鍵盤和鼠標事件。
主要API介紹:
鍵盤模塊(keyboard)
KeyboardListener:監(jiān)聽鍵盤事件。Controller:控制鍵盤輸入。
鼠標模塊(mouse)
MouseListener:監(jiān)聽鼠標事件。Controller:控制鼠標移動和點擊。
常用API函數(shù):
鍵盤API
keyboard.Controller.press(key): 按下鍵。keyboard.Controller.release(key): 釋放鍵。keyboard.Controller.type(string): 輸入字符串。keyboard.Listener(on_press=None, on_release=None): 監(jiān)聽鍵盤按鍵事件。
鼠標API
mouse.Controller.position: 獲取當前鼠標位置。mouse.Controller.move(x, y): 移動鼠標。mouse.Controller.press(button): 按下鼠標按鈕。mouse.Controller.release(button): 釋放鼠標按鈕。mouse.Controller.click(button, n): 單擊鼠標按鈕n次。mouse.Listener(on_click=None, on_scroll=None, on_move=None): 監(jiān)聽鼠標事件。
具體示例:
鍵盤示例
from pynput.keyboard import Key, Listener, Controller
# 創(chuàng)建鍵盤控制器
keyboard = Controller()
def on_press(key):
try:
print('Alphanumeric key {0} pressed'.format(key.char))
except AttributeError:
print('Special key {0} pressed'.format(key))
def on_release(key):
print('{0} released'.format(key))
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
# 模擬鍵盤輸入
keyboard.type("Hello World!")
keyboard.press(Key.enter)
keyboard.release(Key.enter)
鼠標示例
from pynput.mouse import Button, Controller, Listener
# 創(chuàng)建鼠標控制器
mouse = Controller()
def on_move(x, y):
print('Pointer moved to {0}'.format((x, y)))
def on_click(x, y, button, pressed):
if pressed:
print('Mouse clicked at ({0}, {1}) with {2}'.format(x, y, button))
def on_scroll(x, y, dx, dy):
print('Mouse scrolled at ({0}, {1})({2}, {3})'.format(x, y, dx, dy))
# Collect events until released
with Listener(on_move=on_move, on_click=on_click, on_scroll=on_scroll) as listener:
listener.join()
# 模擬鼠標移動和點擊
mouse.position = (100, 200)
mouse.click(Button.left, 1)
注意事項:
- 在使用
pynput監(jiān)聽鍵盤和鼠標事件時,程序會阻塞直到監(jiān)聽結束。 pynput可能需要管理員權限才能運行,特別是在 Windows 上。pynput的事件監(jiān)聽器可以設置為非阻塞模式,但默認是阻塞的。
以上就是 pynput 的基礎使用方法和一些常見API的介紹。更多相關python pynput庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關文章
pandas?Dataframe實現(xiàn)批量修改值的方法
這篇文章主要介紹了pandas?Dataframe實現(xiàn)批量修改值的方法,在使用dataframe的時候?有時候會碰到需要批量修改數(shù)據(jù)的時候,下面文章主要說明兩種情況使用iloc對某幾行某幾列進行全部修該和對數(shù)據(jù)進行判定后,相互+/-/*某個數(shù),使用內置函數(shù),需要的朋友可以參考一下2022-06-06

