# 记录错误数据(使用append添加,pop(0)删除列表头错误数据) input_list = [] # 设置记录错误数据列表的长度 input_list_size = 0 # 当input_list长度大于8,并且有最新的错误需要记录时,删除input_list头数据,数据存储在input_list_remove input_list_remove = [] # 记录错误数据的个数字典 dict_input = {} while True: try: # 处理输入数据 ont_data = input().split(" ") row = ont_data[-1] file_path = ont_data[0] file_name = file_path.split("\\")[-1] if len(file_name) >16: file_name = file_name[-16:] # 最终存入列表的记录数据,如:"ywzqaop 631" key = file_name + " " + row # 长度小于8 if input_list_size < 8: # 如果 key 不在 input_list,则添加到列表,列表长度+1,并且更新dict_input if key not in input_list: input_list.append(key) dict_input[key] = 1 input_list_size += 1 else: key 在 input_list,则只需要更新dict_input dict_input[key] += 1 # 当列表长度小于8时 else: # 如果 key 在 input_list,则更新dict_input记录的错误数据的数量 if key in input_list: dict_input[key] += 1 # 如果 key 在 input_list_remove,则跳过不记录此条信息,因为此前已经出现过的记录不需要重新记录 elif key in input_list_remove: continue # 如果key不在上面的条件中,则说明是新产生的无重复错误信息, else: # 删除头记录,并添加到已经记录过并且添删除的列表中 input_list_remove.append(input_list.pop(0)) # 添加新错误信息到列表尾部,并更新数量 input_list.append(key) dict_input[key] = 1 except: break # 打印错误记录 for k in input_list: print(f"{k} {dict_input.get(k)}")