您好,我有一个函数可以解析文件中的前 60 行,并且应该在存在完全空白的行时提醒用户。然而,这些可能发生在这 60 行中的任何位置,因此我希望脚本解析整个 60 行,主要是因为我需要其中几行的数据来进行错误报告。我们可能想知道这些错误将来会发生在哪里。我写了这个:
def header_data(data):
dictionary = {}
datalen = len(data)
itrcntr = 0
try:
for line in data:
itrcntr += 1
if line.isspace():
raise Exception('File has badly formatted header data line(s)')
else:
linesplit = line.rstrip().split(":")
if len(linesplit) > 1:
dictionary[linesplit[0]] = linesplit[1].strip()
return dictionary
except Exception as e:
errmsg = str(e)
if itrcntr == datalen:
return (dictionary, errmsg)
else:
pass
有了这个函数,我希望如果它发现 itrcntr 不等于 datalen,它会通过并返回到 try 块并继续到下一行。但这并没有发生。相反,它会跳出函数并在函数调用者的下一行中继续。如何让它继续循环,直到到达循环末尾,然后返回字典以及错误消息?或者这不能通过 try catch 异常处理程序来完成吗?
慕田峪9158850
慕妹3146593
相关分类