/var/log/messages
我想循环读取内核日志的最后三行。
for i in xrange(0,100):
# do_stuff()
file = open('/var/log/messages')
lines = file.readlines()[-3:]
# analyse_stuff()
file.close()
但我对这段代码有疑问:
[...]
1013477960613797 1013477960959759 1013477961174602
1013477960613797 1013477960959759 1013477961174602
1013477960613797 1013477960959759 1013477961174602
1013477960613797 1013477960959759 1013477961174602
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477973551967 1013477973773506 1013477977678559
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
1013477986756370 1013477990527612 1013477990834895
[...]
如您所见,值重复了很多次。
do_stuff()
执行一个二进制文件,它发出三个日志消息。
analyse_stuff()
将分析这三行并做魔术
我总是关闭文件并重新打开它,因为我认为这会解决问题,但事实并非如此。知道会发生什么吗?