gpt4 book ai didi

python - 只读取大文本文件的结尾

转载 作者:IT老高 更新时间:2023-10-28 21:02:03 27 4
gpt4 key购买 nike

Possible Duplicate:
Get last n lines of a file with Python, similar to tail
Read a file in reverse order using python

我有一个大小约为 15GB 的文件,它是一个日志文件,我应该分析它的输出。我已经对一个类似但非常小的文件进行了基本解析,只有几行日志记录。解析字符串不是问题。问题在于巨大的文件及其包含的冗余数据量。

基本上我正在尝试制作一个我可以说的python脚本;例如,给我文件的最后 5000 行。这又是基本的处理论点和所有这些,没什么特别的,我可以做到。

但是我如何定义或告诉文件阅读器只读取我从文件末尾指定的行数?我试图跳过文件开头的 huuuuuuge 行,因为我对这些不感兴趣,老实说,从 txt 文件中读取大约 15GB 的行需要太长时间。有没有办法出错..从文件末尾开始读取?这有意义吗?

这一切都归结为读取 15GB 文件的问题,逐行读取时间太长。所以我想在一开始就跳过已经冗余的数据(至少对我来说是冗余的),只读取我想要读取的文件末尾的行数。

显而易见的答案是手动将 N 行从文件复制到另一个文件,但是有没有办法半自动地做到这一点,只是用 python 从文件末尾读取 N 行?

最佳答案

将其移植到 unix:

import os
os.popen('tail -n 1000 filepath').read()

如果您需要能够访问 stderr(和其他一些功能),请使用 subprocess.Popen 而不是 os.popen

关于python - 只读取大文本文件的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12294225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com