Использование последнего элемента в большом текстовом файле в Python - PullRequest
0 голосов
/ 24 мая 2018

У меня есть файл журнала размером 100 МБ, но мне нужен только последний элемент (все элементы разделены '\ n'.), Структура файла:

{JSON}\n{JSON}\n...{JSON}\n

И цельчтобы получить последний блок JSON.

Как это сделать эффективно?

Спасибо!

1 Ответ

0 голосов
/ 24 мая 2018

Я нашел библиотеку с именем tailer (pip install tailer), которая похожа на команду linux tail file_path --lines=1, и она соответствует моей цели.

import tailer
# Read the last n lines
tail = tailer.tail(open(file_path), last_n_lines))
# tail is a list of last n lines

Или, используя пакет linechache, которыйможет получить строку по номеру строки.Чтобы получить последнюю строку, сначала посчитайте количество строк в текстовом файле.

total_line_number = sum(1 for line in open(file_path))

, а затем получить последнюю строку

import linecache
tail = linecache.getline(file_path, total_line_number)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...