以filename+lineno作为key,以count为值存储为map list作为有序数列记录error出现的顺序 最后遍历list中后8个元素,并通过元素值作为key获取map中存储的总数
import sys
error_map = {}
error_list = []
for i in sys.stdin:
path, line_no = i.strip().split(' ')
filename = path.split('\\')[-1]
if len(filename) > 16:
filename = filename[-16:]
error_key = filename + ' ' + line_no
if error_key in error_map.keys():
error_map[error_key] = error_map[error_key] + 1
else:
error_list.append(error_key)
error_map[error_key] = 1
for error_key in error_list[-8:]:
print(error_key, error_map.get(error_key))