目的
使用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()