-思路:既然文件名和行号相同视为同样的错误,所以可以把文件名和行号拼接后的字符串作为字典error_dict的key,当key相同时,value值加一,这样就可以得到一个记录错误的字典error_dict,然后取字典的最后8项元素格式化输出即可

import sys

error_dict = {}
for line in sys.stdin:
    e = line.split(" ")
    file_name, line_number = e[0].strip().split("\\")[-1][-16:], e[1].strip()  # 文件名和行号,用于拼接成key
    k = f"{line_number}_{file_name}"
    error_dict[k] = error_dict.get(k, 0) + 1  # value初始为0,每次加1

for k, v in list(error_dict.items())[-8:]:  # 字典的items不可分割,需要转成list分割
    n, file = k.split("_", 1)
    print(f"{file} {n} {v}")