我的部分代码一直收到此错误。
Traceback (most recent call last):
File "./mang.py", line 1688, in <module>
files, tsize = logger()
File "./mang.py", line 1466, in logger
nl = sshfile(list, "nl")
UnboundLocalError: local variable 'sshfile' referenced before assignment
我没有把代码放在原因,因为它在函数之间来回传递。我想知道是否有人能告诉我为什么python会吐出这个错误? sshfile不是变量,它是一个类。
答案 0 :(得分:1)
您可能尚未导入包含sshfile
定义的文件,或者您需要使用包名限定类名。这取决于你如何导入它。
它来自哪个包裹?在哪里定义?
<强>更新强>
对于阅读此内容的其他人,在评论中进行讨论后发现,问题是名称sshfile
已在函数中作为变量名进一步使用,如下所示:
class sshfile:
pass
def a():
f = sshfile() # UnboundLocalError here
sshfile = 0
a()
解决方案是不使用隐藏您需要使用的类名的变量名。