我正在写我的硕士学位论文,并尝试以下面要描述的方式遍历日志文件:
我的日志文件是以下格式的txt文件:
Jul 27 16:51:30 Event 1
Jul 27 16:53:38 Event 2
Jul 27 16:55:38 Event 3
Jul 27 16:59:39 Event 4
Jul 27 17:05:39 Event 5
Jul 27 17:07:39 Event 6
Jul 27 17:12:30 Event 7
Jul 27 17:14:38 Event 8
Jul 27 17:15:38 Event 9
Jul 27 17:18:39 Event 10
Jul 27 17:21:39 Event 11
Jul 27 17:22:39 Event 12
我想以15分钟的时间窗口和5分钟的时间步长读取日志文件,并将结果附加到列表中。例如,我有一个空列表test_data = [],并希望得到以下结果:
print(test_data[0])
Event 1
Event 2
Event 3
Event 4
Event 5
print(test_data[1])
Event 4
Event 5
Event 6
Event 7
Event 8
print(test_data[2])
Event 5
Event 6
Event 7
Event 8
Event 9
有人可以帮我吗?可以做到吗?
答案 0 :(得分:0)
with open('test.log') as f:
test_data = []
for i, e in enumerate(f):
if i % 5 == 0:
test_data.append('')
test_data[-1] += e.split(maxsplit=3)[3]
print(test_data[0])
print(test_data[1])
print(test_data[2])
with
和as
(可迭代的f
)打开日志文件。f
append
在列表末尾有一个新的空白字符串。Event #
拆分来提取maxsplit=3
,以便Event
和#
可以组合在一起。join
Event #
到列表的最后一个元素的末尾。然后转到4