# 记录错误数据(使用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)}")