История изменений
Исправление aarexer, (текущая версия) :
Ну что-то типа такого. Переходим в конец, откатываемся «вверх» на 1024, читаем, находим все последнюю «метку» в прочитанном - с нее и будет наша нужная информация. Это при условии, что мы за один раз прочитаем хотя бы один кусок
====== CHECKTIME 2015-06-12-16:50:10
полезная информация1
полезная информация2
полезная информация3
1) Переделать все и читать вообще построчно(что правильнее)
2) Просто увеличить число считанных байт.
#!/usr/local/bin/python3.4
#coding=utf-8
with open("example.txt", "r") as f:
f.seek(0, 2)
fsize = f.tell()
f.seek(max(fsize - 1024, 0), 0)
lines = f.readlines()
for x in lines[::-1]:
if x.startswith("====== CHECKTIME"):
start = lines.index(x)
break
print(lines[start + 1:])
Плюс как уже советовали можно ввести метку о не формате.
Исходная версия aarexer, :
Ну что-то типа такого. Переходим в конец, откатываемся «вверх» на 1024, читаем, находим все последнюю «метку» в прочитанном - с нее и будет наша нужная информация. Это при условии, что мы за один раз прочитаем хотя бы один кусок
====== CHECKTIME 2015-06-12-16:50:10
полезная информация1
полезная информация2
полезная информация3
#!/usr/local/bin/python3.4
#coding=utf-8
with open("example.txt", "r") as f:
f.seek(0, 2)
fsize = f.tell()
f.seek(max(fsize - 1024, 0), 0)
lines = f.readlines()
for x in lines[::-1]:
if x.startswith("====== CHECKTIME"):
start = lines.index(x)
break
print(lines[start + 1:])
Плюс как уже советовали можно ввести метку о не формате.