Я пытаюсь прочитать каждую строку в текстовом файле в обратном направлении.И я пытаюсь сделать это через генератор.Я написал parser_entries()
, который принимает итеративную вещь, а возврат строк и выходов берет итеративную вещь, которая возвращает строки и возвращает проанализированные записи по одной (это должен быть генератор).
sample.txt
:
2018/03/25-00:08:48.638553 508 7FF4A8F3D704 snononsonfvnosnovoosr
2018/03/25-10:08:48.985053 346K 7FE9D2D51706 ahelooa afoaona woom
2018/03/25-20:08:50.486601 1.5M 7FE9D3D41706 qojfcmqcacaeia
2018/03/25-24:08:50.980519 16K 7FE9BD1AF707 user: number is 93823004
2018/03/26-00:08:50.981908 1389 7FE9BDC2B707 user 7fb31ecfa700
2018/03/26-10:08:51.066967 0 7FE9BDC91700 Exit Status = 0x0
2018/03/26-15:08:51.066968 1 7FE9BDC91700 std:ZMD:
Решение:
def parser_entries(lines=iter(reversed(list(file)))):
line = lines.split('.', maxsplit=1)
yield (line[0], line[1])
with open('a.txt') as f:
lines = parser_entries(f)
date_part, line = next(lines)
И я получаю ошибку ниже при попытке моего решения:
line = lines.split('.', maxsplit=1)
AttributeError: '_io.BufferedReader' object has no attribute 'split'