我正在尝试编写用于日志解析的脚本。 我有一个文件,其中的日志乱七八糟。特定日志的每一行都有时间戳,所以我想用它来对它们进行排序。
例如
10:48开始 。 。 10:50开始 。 。 10:42开始 第一行将包含关键字“开始”和时间戳。 “开始”和下一个“开始”之间的线是一组。我想根据时间戳在日志文件中对所有这些集进行排序。
代码逻辑: 我想创建字典,我将在这里选择它并将其指定为“key”和该日志集的值中的文本。然后我将在字典中对“键”进行排序,并在文件中以排序的顺序打印它们的“值”。 但是我收到错误“TypeError:unhashable type:'list'”
write1 = False
x = 0
search3 = "start"
matched = dict()
matched = {}
# fo is a list which is defined elsewhre in the code.
for line in fo:
if search3 in line:
#got the Hello2 printed which indicates script enters this loop
print('hello2')
write1 = True
x +=1
time = line.split()[3]
name1 = [time.split(':')[0] +":"+time.split(':')[1] + ":"+ time.split(':')[2]]
matched[name1] = line
elif write1:
matched[name1] += line
print(matched.keys())
如果我的逻辑和我的工作方式是正确的,请告诉我?
答案 0 :(得分:1)
您将moveSquare
设置为列表。列表不可清除,只有元组。但是,我假设您希望name1为字符串,因此您只想删除括号:
name1