如何解决为什么我的while循环不适用于这些功能?
当我自己有一个while循环时,它可以工作,但是通过功能,它停止工作。我已经测试了这些功能,以确保它们正常工作,并且可以正常工作,但是即使autoclicker == 1
不会执行while循环。
autoclicker = 0
def on_release(key):
global autoclicker
if key == keyboard.Key.f6:
autoclicker += 1
print(autoclicker)
def on_press(key):
global autoclicker
if autoclicker == 1 and key == keyboard.Key.f6:
autoclicker -= 1
print(autoclicker)
sys.exit()
with keyboard.Listener(
on_release=on_release,on_press=on_press) as listener:
listener.join()
while autoclicker == 1:
mouse.press(Button.left)
print(f"Left mouse button pressed.")
mouse.release(Button.left)
print(f"Left mouse button released.")
解决方法
尝试将while
循环放入侦听器中,如下所示:
with keyboard.Listener(
on_release=on_release,on_press=on_press) as listener:
while autoclicker == 1:
mouse.press(Button.left)
print(f"Left mouse button pressed.")
mouse.release(Button.left)
print(f"Left mouse button released.")
listener.join()
,
您的代码中存在一些问题。
- 如果您不希望线程阻塞您的代码(您说您的代码最后将无法运行。)。更改:
with keyboard.Listener(
on_release=on_release,on_press=on_press) as listener:
listener.join()
到
listener = keyboard.Listener(on_release=on_release,on_press=on_press)
listener.start()
- 我不确定为什么要使用
while autoclicker == 1
,因为您一开始就定义了autoclicker = 0
,那么while循环就没有意义了。您可能需要对代码进行一些更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。