文章目录
- 需求
- 简单实现
- 测试代码
- 更新:添加两个方法
需求
基于pynput库开发一个脚本。
要能够用按键控制它启动,暂停。
简单实现
key参数,代表了用什么键控制。
state属性,代表了当前的开关状态。
listener属性,是pynput的监听器。
start方法,启动监听器。
from pynput import keyboard as kbclass Simple_Script():def __init__(self, key):self.key = keyself.state = Falseself.listener = kb.Listener(on_press=self.__a())def start(self):self.listener.start()def __a(self):def on_press(key):if key == self.key:self.state = not self.stateif self.state:print("启动", end="")else:print("暂停", end="")return on_press
测试代码
import time
from base.script import kb, Simple_Script
if __name__ == '__main__':a = Simple_Script(kb.Key.f12)a.start()i = 0while True:if a.state:print(i)i = i + 1time.sleep(1)
效果:
更新:添加两个方法
可以在启动,暂停时做一些事情。
from pynput import keyboard as kb
class Simple_Script():def __init__(self, key, fun1=None, fun2=None):self.key = keyself.state = Falseself.listener = kb.Listener(on_press=self.__a(fun1, fun2))def start(self):self.listener.start()def __a(self, fun1, fun2):def on_press(key):if key == self.key:self.state = not self.stateif self.state:print("启动", end="")if fun1 != None:fun1()else:print("暂停", end="")if fun2 != None:fun2()return on_press