吉祥猴378 2024-07-13 20:45 采纳率: 95.8%
浏览 1
已结题

哪位大姥,知道点击鼠标左键如何进行不同条件

if button == mouse.Button.left and pressed:
    keyboard.press('6')
    keyboard.release('6')
else:
    keyboard.press('c')
    keyboard.press('2')
    time.sleep(0.01)
    keyboard.release('2')
    keyboard.release('c')
    time.sleep(0.039)
    keyboard.press('g')
    time.sleep(0.01)

mouse_listener = mouse.Listener(on_click=on_test1_click)
mouse_listener.start()
keyboard.wait('esc')

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2024-07-13 20:45
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    你好!看起来你正在使用 Python 编写一个脚本,通过监听鼠标点击事件来触发不同的键盘操作。你提供的代码片段已经很好地展示了基本逻辑,但我会给出一些建议来优化它。

    首先,你的代码使用了 mousekeyboard 库,这些库需要先安装。如果你还没有安装这些库,可以使用 pip 来安装:

    pip install mouse
    pip install keyboard
    

    接下来,我会对你的代码进行一些改进:

    1. 错误处理:添加异常处理来捕获可能发生的错误。
    2. 代码清晰性:使用更具描述性的变量名和函数来提高代码的可读性。
    3. 性能优化:避免在循环中重复调用 keyboard.wait,这可能会导致不必要的延迟。

    下面是优化后的代码示例:

    import mouse
    import keyboard
    import time
    
    def on_click(button, pressed):
        if button == mouse.Button.left and pressed:
            keyboard.press('6')
            keyboard.release('6')
        else:
            perform_alternate_actions()
    
    def perform_alternate_actions():
        keyboard.press('c')
        keyboard.press('2')
        time.sleep(0.01)
        keyboard.release('2')
        time.sleep(0.039)
        keyboard.release('c')
        keyboard.press('g')
        time.sleep(0.01)
        keyboard.release('g')
    
    def main():
        try:
            mouse_listener = mouse.Listener(on_click=on_click)
            mouse_listener.start()
            keyboard.wait('esc')  # 等待按下 'esc' 键来停止监听
        except Exception as e:
            print(f"An error occurred: {e}")
    
    if __name__ == "__main__":
        main()
    

    在这个示例中,我创建了一个 perform_alternate_actions 函数来封装当鼠标左键点击条件不满足时执行的键盘操作,这样可以使 on_click 函数更加简洁。

    此外,我将主逻辑放在了 main 函数中,并使用 try-except 块来捕获和打印可能发生的错误。

    请注意,这段代码只是一个示例,你可能需要根据你的具体需求进行调整。如果你需要更详细的帮助或有其他问题,随时告诉我!

    至于参考链接,这里是一些可能有用的资源:

    希望这能帮助到你!如果你有任何疑问或需要进一步的帮助,请随时联系我。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月13日