欢迎光临散文网 会员登陆 & 注册

Pynput-操控你的键盘和鼠标!

2023-07-20 11:03 作者:Pumpkin888666  | 我要投稿

此文转载:https://pumpkin8.com/101.html

前言:Pynput是一个可以操控键盘和鼠标进行一些自动化操作的一个Python库,合理利用可以达到提升工作效率的效果。


1.安装Pynput库

按下Win+R键输入cmd打开命令提示符,输入指令以安装Pynput库。

pip install pynput

2.使用文档

(1)鼠标部分

引入控制鼠标的模块:

from pynput import mouse

获取鼠标的控制对象:

m=mouse.Controller()

获取鼠标当前坐标:

print(m.position)

改变鼠标位置:

m.position = (100, 100)

以当前鼠标位置为原点进行偏移:

m.move(10, 10)

以下代码若想切换为右键将left切换为right即可

按下鼠标左键:

m.press(mouse.Button.left)

释放鼠标左键:

m.release(mouse.Button.left)

注意!按下左键一定要释放左键才能进行下一步操作,可以搭配Time库进行长按操作,单击操作不建议使用此代码。

单击鼠标左键(双击把1改成2即可):

m.click(mouse.Button.left, 1)

滚轮向上:

m.scroll(0, 100)

滚轮向下:

m.scroll(0,-100)

(2)键盘部分

引入控制键盘模块:

from pynput import keyboard

获得键盘的控制对象:

kb=keyboard.Controller()

获取按键:

获取特殊按键,可以通过 keyboard.Key找到
shift keyboard.Key.shift
ctrl keyboard.Key.ctrl
alt keyboard.Key.alt
获取普通按键
可以通过keyboard.KeyCode.from_char’获取,特殊按键不可以,使用时会报ArgumentError`
两者都可以使用keyboard.KeyCode.from_vk通过键盘的映射码来获取
键位码表

按下A键:

kb.press("a")

释放A键:

kb.release("a")

同时按下Shift+A键:

with kb.pressed(keyboard.Key.shift):

   kb.press('a')

   kb.release('a')

输出”hello,word”:

kb.type('hello word.')

(3)键盘鼠标监听:

鼠标的:

from pynput import mouse

# 鼠标move监听

def on_move(x, y):

   print(f'移动至: ({x}, {y})')

# 鼠标click监听

def on_click(x, y, button, pressed):

   print(f'在此坐标点击: ({x}, {y})')

   print(f'点击的按键: {button}')

   print(f'类型: {"Pressed" if pressed else "Release"}')

# 鼠标滚轮scroll监听

def on_scroll(x, y, dx, dy):

   print(f'滚轮变化时的坐标: ({x}, {y})')

   print(f'滚轮变化了: ({dx}, {dy})')

with mouse.Listener(on_move=on_move, on_click=on_click, on_scroll=on_scroll) as listener:

   listener.join()

键盘的:

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:

      # Stop listener

       return False

# Collect events until released

with keyboard.Listener(

       on_press=on_press,

       on_release=on_release) as listener:

   listener.join()

文章到此结束,如果有错误的地方,欢迎评论指出。

作者博客同步发出,求求各位观众老爷支持支持。

https://pumpkin8.com/101.html


Pynput-操控你的键盘和鼠标!的评论 (共 条)

分享到微博请遵守国家法律