Python中的快速.gz日志文件解析

Python中的快速.gz日志文件解析,python,Python,我有多个日志文件,其中包含10000多行信息,并且是gzip文件。我需要一种方法来快速解析每个日志文件中的相关信息,然后根据所有日志文件中包含的信息显示统计信息。我目前使用gzip.open()递归地打开每个.gz文件,然后通过一个基本解析器运行内容 def parse(logfile): for line in logfile: if "REPORT" in line: info = line.split() userna

我有多个日志文件,其中包含10000多行信息,并且是gzip文件。我需要一种方法来快速解析每个日志文件中的相关信息,然后根据所有日志文件中包含的信息显示统计信息。我目前使用
gzip.open()
递归地打开每个.gz文件,然后通过一个基本解析器运行内容

def parse(logfile):
    for line in logfile:
        if "REPORT" in line:
            info = line.split()
            username = info[2]
            area = info[4]
            # Put info into dicts/lists etc.
        elif "ERROR" in line:
            info = line.split()
            ...

def main(args):
    argdir = args[1]
    for currdir, subdirs, files in os.walk(argdir):
        for filename in files:
            with gzip.open(os.path.join(currdir, filename), "rt") as log:
                parse(log)
    # Create a report at the end: createreport()
是否有任何方法可以为每个文件优化此过程?目前,在我的计算机上,每个文件大约需要28秒来完成每个.gz和每一个小优化。我尝试过使用pypy,但由于某些原因,处理一个文件的时间要长2倍