我在日志文件中有行,按时间顺序添加。例如,它可能是最近30天的数据,从30天前开始,然后是29天前,然后是28天前等。从日志文件中快速查找行,向后查找,然后逐行读取
我想按正常时间顺序读取文件,但从某个点(例如,7天前开始,7天前读取数据,然后6天前数据,然后5天前数据等)
一种方法是正常读取文件,但出于速度原因,我将需要于: - 从文件末尾寻求落后,指数,找到合适的点 开始 - 那么,一旦我找到了正确的点开始,读取文本行的一个接一个,以正向顺序
我无法正常工作。我开始修改答案在这里: Most efficient way to search the last x lines of a file in python
有人可以帮助,或提供更好的方式做到这一点的指导?
我会考虑将日志文件分成多个文件 - 每个文件都包含一个适当的持续时间从一开始就寻求可行。 (也就是说,如果你有选择的话) – 2012-03-25 15:57:39
因为你的计划是从那一点开始读取*整个文件,所以我不认为在后向*指数阅读方面有太多的意义。按照指数方式读取,加上二分搜索,一旦你通过了你想要的点,将帮助你在O(log N)时间找到第一个需要的行,但这对你来说没有多大意义,因为它会带你O(N)有时间阅读这一点。 – ruakh 2012-03-25 15:58:28