我正在尝试不断更新日志文件,我正在log_parser.py
文件中访问该日志文件,如下所示:
****log_parser.py****
import time
last_pos=0
while True:
f=open(r".\log_file.log","r")
f.seek(last_pos)
for i in f.readlines():
print i
print "****************************"
else:
last_pos=f.tell()
time.sleep(1)
continue
现在我正在尝试连续打印日志行。如果没有日志行,它将记录最后一个位置值和I seek()
,它定位每次迭代,但这给了我错误的输出。
****log_file.log****
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
.
.
.
.
.
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
我将这些行动态地附加到该日志文件中。
****Excpected output*************
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
***********************
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
*************************
cccccccccccccccccccccccccccccc
**************************
and upto zzzzzz
但现在我正在
***I am Getting************
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
**********************
bbbbbbbbbbbbbbbbbbbbbbbbbbbbb
*********************
cccccccccccccccccccccccccccccccccc
************************
dddddddddddddddd
*************************
dddddddddddd
*******************
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
***********************************
upto zzzzz
但在f.tell()
方法之间返回指针,f.seek()
方法寻找行中间位置。
有人可以帮忙解决这个问题吗?