python自动捕捉鼠标位置+按键触发捕捉

目的

使用python,捕捉鼠标位置,同时使用键盘控制捕捉时机

代码片

一个用a触发的例子

def get_op_seq():
    import keyboard
    import pyautogui
    
    # 定义标记每一次单击
    temp_op_names =  ["单击1","单击2","单击3"]    

    op_seq = []       #用于存储单击位置x,y
    
    def record_xy():
    
        for op_name in temp_op_names:
            x, y = pyautogui.position()      #  获取当前位置
            
            temp_op = (op_name,(x,y))    
            op_seq.append(temp_op)
            yield op_name        # yield 的使用参照下方参考链接

    recoder = record_xy()    # 一个生成器对象
    for i in range(len(temp_op_names)):
        keyboard.wait("a")     #在按下a之前后面的语句都不会执行
        print(next(recoder))   

    print(op_seq)                 #得到[(单击1,(x1,y1)),(单击2,(x2,y2)),]


get_op_seq()                     # 调用

注意,上面的程序执行时,每次按下a键可记录一次,可以记录三次

哪些键可以作为触发?

参考博文:Python 键盘/鼠标监听及控制

#字符
'1'
'a'
...
#控制
'ctrl'
'alt'
'shift'
'enter'
'esc'
'f1'
...
#方向键
'up'
'down'
'left'
'right'
#组合按键
'ctrl'+'alt'+'a'

依赖项的安装


def install_package():
    "安装keyboard包"
    import os
    mirror = " -i https://pypi.douban.com/simple"
    
    os.system("python -m pip install --upgrade pip" + mirror)  # 更新 pip
    
    os.system("pip install keyboard" + mirror)  # 安装 keyboard

    print("包安装成功! ")

install_package()

参考链接:

Python 键盘/鼠标监听及控制
深入理解python的yield和generator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值