gpt4 book ai didi

python - 在 python 中检查大型日志文件

转载 作者:行者123 更新时间:2023-11-28 17:47:20 25 4
gpt4 key购买 nike

对于发布这个有点犹豫 - 就我而言这是一个真正的问题,但我想我会理解它是否被批评或关闭作为讨论邀请...

无论如何,我需要使用 Python 来搜索一些相当大的 Web 日志以查找特定事件。 RegEx 会很好,但我不受任何特定方法的约束 - 我只想要包含两个字符串的行,这些字符串可以出现在 GET 请求中的任何位置。

由于一个典型的文件超过 400mb 并且包含大约一百万行,因此在完成时间和服务器加载方面的性能(ubuntu/nginx VM - 相当好的规范并且很少过度工作)可能会成为问题.

我是最近才转换为 Python 的(请注意,这是一个新手,但仍有很多东西需要学习),我希望获得有关实现这一目标的最佳方法的一些指导

我是否打开并遍历?Grep 到一个新文件然后打开?两者的某种结合?还有别的吗?

最佳答案

只要您不是一次读取整个文件,而是连续遍历它,您应该没问题。我认为使用 python 还是使用 grep 读取整个文件并不重要,您仍然必须加载整个文件:)。如果您利用生成器,您可以真正对程序员友好地做到这一点:

# Generator; fetch specific rows from log file
def parse_log(filename):
reg = re.prepare( '...')

with open(filename,'r') as f:
for row in f:
match = reg.match(row)
if match:
yield match.group(1)

for i in parse_log('web.log'):
pass # Do whatever you need with matched row

关于python - 在 python 中检查大型日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16186266/

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