欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中pynput庫(kù)的具體使用

 更新時(shí)間:2024年09月23日 09:51:02   作者:pumpkin84514  
pynput是Python庫(kù),支持跨平臺(tái)控制和監(jiān)聽(tīng)鍵盤、鼠標(biāo)輸入,包含keyboard和mouse模塊,用于處理鍵盤事件和鼠標(biāo)事件,本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下

pynput 是一個(gè) Python 庫(kù),用于控制和監(jiān)聽(tīng)鍵盤與鼠標(biāo)輸入。它在 Windows、macOS 和 Linux 上都可以工作,為用戶提供了一個(gè)跨平臺(tái)的輸入事件處理方式。pynput 包含兩個(gè)主要模塊:keyboard 和 mouse,分別用于處理鍵盤和鼠標(biāo)事件。

主要API介紹:

鍵盤模塊(keyboard)

  • KeyboardListener:監(jiān)聽(tīng)鍵盤事件。
  • Controller:控制鍵盤輸入。

鼠標(biāo)模塊(mouse)

  • MouseListener:監(jiān)聽(tīng)鼠標(biāo)事件。
  • Controller:控制鼠標(biāo)移動(dòng)和點(diǎn)擊。

常用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)聽(tīng)鍵盤按鍵事件。

鼠標(biāo)API

  • mouse.Controller.position: 獲取當(dāng)前鼠標(biāo)位置。
  • mouse.Controller.move(x, y): 移動(dòng)鼠標(biāo)。
  • mouse.Controller.press(button): 按下鼠標(biāo)按鈕。
  • mouse.Controller.release(button): 釋放鼠標(biāo)按鈕。
  • mouse.Controller.click(button, n): 單擊鼠標(biāo)按鈕n次。
  • mouse.Listener(on_click=None, on_scroll=None, on_move=None): 監(jiān)聽(tīng)鼠標(biāo)事件。

具體示例:

鍵盤示例

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)

鼠標(biāo)示例

from pynput.mouse import Button, Controller, Listener

# 創(chuàng)建鼠標(biāo)控制器
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()

# 模擬鼠標(biāo)移動(dòng)和點(diǎn)擊
mouse.position = (100, 200)
mouse.click(Button.left, 1)

注意事項(xiàng):

  • 在使用 pynput 監(jiān)聽(tīng)鍵盤和鼠標(biāo)事件時(shí),程序會(huì)阻塞直到監(jiān)聽(tīng)結(jié)束。
  • pynput 可能需要管理員權(quán)限才能運(yùn)行,特別是在 Windows 上。
  • pynput 的事件監(jiān)聽(tīng)器可以設(shè)置為非阻塞模式,但默認(rèn)是阻塞的。

以上就是 pynput 的基礎(chǔ)使用方法和一些常見(jiàn)API的介紹。更多相關(guān)python pynput庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲獲取整個(gè)站點(diǎn)中的所有外部鏈接代碼示例

    Python爬蟲獲取整個(gè)站點(diǎn)中的所有外部鏈接代碼示例

    這篇文章主要介紹了Python爬蟲獲取整個(gè)站點(diǎn)中的所有外部鏈接代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • pandas?Dataframe實(shí)現(xiàn)批量修改值的方法

    pandas?Dataframe實(shí)現(xiàn)批量修改值的方法

    這篇文章主要介紹了pandas?Dataframe實(shí)現(xiàn)批量修改值的方法,在使用dataframe的時(shí)候?有時(shí)候會(huì)碰到需要批量修改數(shù)據(jù)的時(shí)候,下面文章主要說(shuō)明兩種情況使用iloc對(duì)某幾行某幾列進(jìn)行全部修該和對(duì)數(shù)據(jù)進(jìn)行判定后,相互+/-/*某個(gè)數(shù),使用內(nèi)置函數(shù),需要的朋友可以參考一下
    2022-06-06
  • Django form表單與請(qǐng)求的生命周期步驟詳解

    Django form表單與請(qǐng)求的生命周期步驟詳解

    這篇文章主要介紹了Django-form表單與請(qǐng)求的生命周期,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python爬蟲爬取ts碎片視頻+驗(yàn)證碼登錄功能

    Python爬蟲爬取ts碎片視頻+驗(yàn)證碼登錄功能

    這篇文章主要介紹了Python爬蟲爬取ts碎片視頻+驗(yàn)證碼登錄功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • python 使用poster模塊進(jìn)行http方式的文件傳輸?shù)椒?wù)器的方法

    python 使用poster模塊進(jìn)行http方式的文件傳輸?shù)椒?wù)器的方法

    今天小編就為大家分享一篇python 使用poster模塊進(jìn)行http方式的文件傳輸?shù)椒?wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python爬蟲之urllib3的使用示例

    python爬蟲之urllib3的使用示例

    這篇文章主要介紹了 python爬蟲之urllib3的使用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 深入理解Python3 內(nèi)置函數(shù)大全

    深入理解Python3 內(nèi)置函數(shù)大全

    本篇文章主要介紹了Python3 內(nèi)置函數(shù),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Python如何實(shí)現(xiàn)自帶HTTP文件傳輸服務(wù)

    Python如何實(shí)現(xiàn)自帶HTTP文件傳輸服務(wù)

    這篇文章主要介紹了Python如何實(shí)現(xiàn)自帶HTTP文件傳輸服務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • python使用PIL給圖片添加文字生成海報(bào)示例

    python使用PIL給圖片添加文字生成海報(bào)示例

    這篇文章主要介紹了python使用PIL給圖片添加文字生成海報(bào)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Python爬蟲中IP池的使用小結(jié)

    Python爬蟲中IP池的使用小結(jié)

    在網(wǎng)絡(luò)爬蟲的世界中,IP池是一個(gè)關(guān)鍵的概念,它允許爬蟲程序在請(qǐng)求網(wǎng)頁(yè)時(shí)使用多個(gè)IP地址,從而降低被封禁的風(fēng)險(xiǎn),提高爬蟲的穩(wěn)定性和效率,本文將深入探討Python爬蟲中IP池的使用,以及如何構(gòu)建和維護(hù)一個(gè)可靠的IP池,感興趣的朋友一起看看吧
    2024-01-01

最新評(píng)論