在Python中使用大型文本文件中的最后一个元素
我有一个100 MB的日志文件,但我只需要最后一个元素(所有元素用“\n”分隔),文件的结构是在Python中使用大型文本文件中的最后一个元素,python,io,Python,Io,我有一个100 MB的日志文件,但我只需要最后一个元素(所有元素用“\n”分隔),文件的结构是 {JSON}\n{JSON}\n...{JSON}\n 目标是得到最后一个JSON单元 如何有效地做到这一点 坦斯克 我发现了一个名为tailer(pip install tailer)的库,它类似于linuxtail file\u path--lines=1命令,它满足了我的目标 import tailer # Read the last n lines tail = tailer.tail(op
{JSON}\n{JSON}\n...{JSON}\n
目标是得到最后一个JSON单元
如何有效地做到这一点
坦斯克 我发现了一个名为
tailer
(pip install tailer
)的库,它类似于linuxtail file\u 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)
倒读。见: