Python:将鼠标位置保存在一个列表中
Posted
技术标签:
【中文标题】Python:将鼠标位置保存在一个列表中【英文标题】:Python: saving mouse position in one list 【发布时间】:2022-01-06 06:52:20 【问题描述】:在以下python代码中:
from pynput.mouse import Listener
coord = []
def click(x, y, button, pressed):
if pressed:
x = int(x)
y = int(y)
coord.append(x)
coord.append(y)
if len(coord) == 4:
print(coord)
return
with Listener(on_click = click) as Listener:
Listener.join()
我想做的是;
当coord
有 4 个元素时,代码将停止。
就像,当我点击两次时,这个If
会停止。
【问题讨论】:
您每次点击附加 2 个项目,您想附加(x, y)
。
【参考方案1】:
因为您每次都单独附加 x 和 y 值。每次鼠标单击都存储为 2 个值(x 和 y)。这就是为什么代码不是在单击 4 次时停止,而是在单击 2 次时停止。要解决此问题,请附加一个元组或列表(我使用了一个元组)
from pynput.mouse import Listener
coord = []
def click(x,y, button, pressed):
if pressed:
x = int(x)
y = int(y)
coord.append((x,y)) # You can use a list also here.
if len(coord) == 4:
print(coord)
return
with Listener(on_click = click) as Listener:
Listener.join()
【讨论】:
感谢您的帮助。有用。但是,你能告诉我如何只检索一个元组元素吗?就像,如果我输入 coord[0],它只会检索 (x1,y1) 对吗?但我只需要检索 x1。 使用coord[0][0]
。当你使用 coord[0] 它返回 (x1,y1) 然后你可以通过简单地添加另一个 [0]
来获取元组的第一个索引中的项目。以上是关于Python:将鼠标位置保存在一个列表中的主要内容,如果未能解决你的问题,请参考以下文章