python中pynput包如何中断死循环操作

今天应了一个网友的要求帮他做一个自动嗑药的按键脚本,却发现了好多问题。
我的想法:监听键盘,按压f5开始一个循环,按另外一个键跳出循环;但是一旦进入循环后pynput无法再次监听键盘,应该是在等待死循环结束。
查阅了官方文档后,官方给出了一个解决方法,为长时间操作添加一个线程,但是依然不行。。。
官方解释:
python中pynput包如何中断死循环操作

from pynput.keyboard import Key, Controller  

from pynput import keyboard

import time

import threading

def on_press(key):

print(key)

t1 = threading.Thread(target=action())

if key == keyboard.Key.f5:

t1.start()

print('开始循环')

elif key == keyboard.Key.tab:

print('跳出循环')

threading.Thread._Thread__stop(t1)

# 循环操作

def action():

while True:

keyboard1 = Controller()

keyboard1.press('1')

keyboard1.release('1')

keyboard1.press('2')

keyboard1.release('2')

keyboard1.press('3')

keyboard1.release('3')

time.sleep(1)

keyboard1.press('4')

keyboard1.release('4')

keyboard1.press('5')

keyboard1.release('5')

time.sleep(1)

while True:

with keyboard.Listener(

on_press=on_press) as listener:

listener.join()

以上是 python中pynput包如何中断死循环操作 的全部内容, 来源链接: utcz.com/a/160055.html

回到顶部