按住鼠标左键时,基于Python mouse库的代码为什么不打印1?
问题原因
- 代码的
while循环只会在程序启动的瞬间判断一次鼠标左键是否按下:如果启动时没有按住左键,循环条件直接返回False,整个循环体完全不会执行,自然没有输出。 - 即使启动时刚好按住左键,只要松开一次,循环就会永久终止,后续再按左键也不会触发打印。
修复代码
将按键判断逻辑放到无限循环内部,运行过程中持续检测按键状态即可:
import time import mouse while True: if mouse.is_pressed("left"): print("1") time.sleep(0.1)
额外排查项
如果修改代码后仍然没有输出,确认你是以高权限运行脚本:
- Windows:右键点击脚本,选择「以管理员身份运行」
- Linux/macOS:在终端中用
sudo python 你的脚本名.py执行
内容的提问来源于stack exchange,提问作者PawełeK
相关产品推荐
相关产品推荐

