问题遇到的现象和发生背景
pyinstaller封装exe时出现如下报错
Failed to obtain/convert traceback!
Failed to execute script 'Library_system' due to unbandled exception: local variable 'Num' referenced before assignment
问题相关代码,请勿粘贴截图
所涉及相关如下
# 判断这本书此前状态 @报错地址,出错原因 执行脚本“Library_system”失败,原因是未处理的异常:局部变量“Num”在赋值前被引用
def JudgeBookstate(self,BookNum):
global Alldata
print("判断数据状态开始!")
print(Alldata)
# 解析图书编号在数据库的位置
Temp = TransDictionarics_Book.DicbookNum.get(BookNum)
for i in range(len(Alldata)):
if Alldata[i][0] == Temp:
Num = i
break
else: pass
Readstate = Alldata[Num]
Readstate = Readstate[len(Readstate) - 1]
Readstate = Readstate.split("_")
# 借阅情况
Readbook = Readstate[1]
# 确定本次借阅的状态T 0为未借阅,1为借阅
if Readbook == '0': Readbook = "已还书"
elif Readbook == '2': Readbook = "已入库"
else: Readbook = "已借阅"
# 借阅人
print(Readstate[2])
Readpeople = TransDictionarics_Book.Dicpeople.get(Readstate[2])
# 上次借阅时间
SystemTime = Readstate[0]
# 解析图书名称
BookName = outDictionarics_Book.DicbookNum.get(BookNum)
# 解析图书借阅次数
ReadNum = len(Alldata[BookNum]) - 1
print(ReadNum)
if self.is_event(ReadNum) == 1: ReadNum = ReadNum / 2
else: ReadNum = (ReadNum - 1) / 2
print(ReadNum)
# 返回值 书的序号,编号,书名,借阅人,状态,借阅时间,借阅次数
return BookNum ,Temp, BookName, Readpeople, Readbook, SystemTime, str(int(ReadNum))