Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用大型文本文件中的最后一个元素_Python_Io - Fatal编程技术网

在Python中使用大型文本文件中的最后一个元素

在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

我有一个100 MB的日志文件,但我只需要最后一个元素(所有元素用“\n”分隔),文件的结构是

{JSON}\n{JSON}\n...{JSON}\n
目标是得到最后一个JSON单元

如何有效地做到这一点


坦斯克

我发现了一个名为
tailer
pip install tailer
)的库,它类似于linux
tail 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)
倒读。见: