Python控制鍵盤(pán)鼠標(biāo)pynput的詳細(xì)用法
pynput這個(gè)庫(kù)讓你可以控制和監(jiān)控輸入設(shè)備。
對(duì)于每一種輸入設(shè)備,它包含一個(gè)子包來(lái)控制和監(jiān)控該種輸入設(shè)備:
- pynput.mouse:包含控制和監(jiān)控鼠標(biāo)或者觸摸板的類。
- pynput.keyboard:包含控制和監(jiān)控鍵盤(pán)的類。
地址:https://pypi.python.org/pypi/pynput
基本用法介紹:
from pynput.mouse import Button, Controller
import time
mouse = Controller()
print(mouse.position)
time.sleep(3)
print('The current pointer position is {0}'.format(mouse.position))
#set pointer positon
mouse.position = (277, 645)
print('now we have moved it to {0}'.format(mouse.position))
#鼠標(biāo)移動(dòng)(x,y)個(gè)距離
mouse.move(5, -5)
print(mouse.position)
mouse.press(Button.left)
mouse.release(Button.left)
#Double click
mouse.click(Button.left, 1)
#scroll two steps down
mouse.scroll(0, 500)
監(jiān)控鼠標(biāo)事件 :
from pynput import mouse
def on_move(x, y ):
print('Pointer moved to {o}'.format(
(x,y)))
def on_click(x, y , button, pressed):
print('{0} at {1}'.format('Pressed' if pressed else 'Released', (x, y)))
if not pressed:
return False
def on_scroll(x, y ,dx, dy):
print('scrolled {0} at {1}'.format(
'down' if dy < 0 else 'up',
(x, y)))
while True:
with mouse.Listener( no_move = on_move,on_click = on_click,on_scroll = on_scroll) as listener:
listener.join()
鍵盤(pán)輸入用法:
from pynput.keyboard import Key, Controller
keyboard = Controller()
# 按下空格和釋放空格
#Press and release space
keyboard.press(Key.space)
keyboard.release(Key.space)
# 按下a鍵和釋放a鍵
#Type a lower case A ;this will work even if no key on the physical keyboard is labelled 'A'
keyboard.press('a')
keyboard.release('a')
#Type two upper case As
keyboard.press('A')
keyboard.release('A')
# or
with keyboard .pressed(Key.shift):
keyboard.press('a')
keyboard.release('a')
#type 'hello world ' using the shortcut type method
keyboard.type('hello world')
鍵盤(pán)監(jiān)聽(tīng):
from pynput import keyboard
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 == keyboard.Key.esc:
return False
while True:
with keyboard.Listener(
on_press = on_press,
on_release = on_release) as listener:
listener.join()
對(duì)于鼠標(biāo)來(lái)說(shuō),api就上面幾個(gè)。但是對(duì)于鍵盤(pán)來(lái)說(shuō)還要?jiǎng)e的,詳細(xì)的查看:http://pythonhosted.org/pynput/index.html
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python控制鼠標(biāo)鍵盤(pán)代碼實(shí)例
- python 實(shí)現(xiàn)控制鼠標(biāo)鍵盤(pán)
- Python 實(shí)現(xiàn)鍵盤(pán)鼠標(biāo)按鍵模擬
- Python監(jiān)聽(tīng)鍵盤(pán)和鼠標(biāo)事件的示例代碼
- python PyAUtoGUI庫(kù)實(shí)現(xiàn)自動(dòng)化控制鼠標(biāo)鍵盤(pán)
- Python selenium鍵盤(pán)鼠標(biāo)事件實(shí)現(xiàn)過(guò)程詳解
- Python2.7:使用Pyhook模塊監(jiān)聽(tīng)鼠標(biāo)鍵盤(pán)事件-獲取坐標(biāo)實(shí)例
- Python pyautogui模塊實(shí)現(xiàn)鼠標(biāo)鍵盤(pán)自動(dòng)化方法詳解
- python模擬鼠標(biāo)點(diǎn)擊和鍵盤(pán)輸入的操作
- python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤(pán)
相關(guān)文章
Python裝飾器實(shí)現(xiàn)函數(shù)運(yùn)行時(shí)間的計(jì)算
這篇文章主要為大家詳細(xì)介紹了Python函數(shù)運(yùn)行時(shí)間的計(jì)算,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02
用python實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)
這篇文章主要分享的是用python實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu),快速排序、選擇排序、插入排序、歸并排序、堆排序heapq模塊等相關(guān)資料,感興趣的小伙伴可以參考一下2021-12-12
Python request設(shè)置HTTPS代理代碼解析
這篇文章主要介紹了Python request設(shè)置HTTPS代理代碼解析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
對(duì)python操作kafka寫(xiě)入json數(shù)據(jù)的簡(jiǎn)單demo分享
今天小編就為大家分享一篇對(duì)python操作kafka寫(xiě)入json數(shù)據(jù)的簡(jiǎn)單demo,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python操作Excel神器openpyxl使用教程(超詳細(xì)!)
openpyxl庫(kù)是一個(gè)很好處理xlsx的python庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python辦公自動(dòng)化openpyxl使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))方法實(shí)例
我們?cè)谟胮ython畫(huà)散點(diǎn)圖的時(shí)候經(jīng)常會(huì)需要標(biāo)記出特定的點(diǎn),這篇文章主要給大家介紹了關(guān)于Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

