有关python中的鼠标和键盘事件的问题

问题描述

from pynput.keyboard import Key,Controller as KeyboardController
from pynput.mouse import Button,Controller as MouseController
from pynput.keyboard import Key,Listener

keyboard = KeyboardController()
mouse = MouseController()

def on_press(key):
    if key.char == 'q':
        print(mouse.position)
        return True

# Collect events until released
with Listener(
        on_press=on_press) as listener:
    listener.join()

我编写了这个简单的脚本,以便在按字母q时返回鼠标的位置。直到我按下非字符的东西(例如Enter键),它才能正常工作。我一直在搜索,但是找不到实现“某些按钮被单击”的好的方法。我该如何解决

解决方法

很明显,返回到import ipaddress import random acc = [] def main(): for _ in range(10000): ip = (ipaddress.IPv4Address(random.randint(0,2 ** 32))) print(ip) # append to a list instead of printing acc.append(str(ip)) # cast the ip to a string main() print(" ".join(acc)) # using space as separator 的键对象没有on_press属性,除非您实际按下了一个字符键。因此,您必须检查该属性的存在。您可以使用hasattr

char