首页 > 解决方案 > python中的并行文件读取

问题描述

在处理来自输入文件的数据后,我一直在尝试读取一个大文件并同时写入另一个文件,该文件非常大,大约 4-8 GB,有没有办法并行化该过程以节省时间

原程序是:

with open(infile,"r") as filein:
with open(writefile,"w") as filewrite: 
    with open(errorfile,"w") as fileerror:
        line=filein.readline()
        count=0
        filewrite.write("Time,Request,IP,MAC\n")
        while line:
            count+=1
            line=filein.readline()
            #print "{}: {}".format(count,line.strip()) testing content
            if requestp.search(line):
                filewrite.write(line.strip()[:15]+",")
                filewrite.write(requestp.search(line).group()+",")
                if IP.search(line):
                    filewrite.write(IP.search(line).group())
                filewrite.write(",")
                if MACp.search(line):
                    filewrite.write(MACp.search(line).group())
                filewrite.write("\n")
            else:
                fileerror.write(line)

但这需要太多时间来处理这样的文件,而且我有 100 个这样的文件,我尝试使用 Ipyparellel 来并行化代码但还没有成功,有没有办法做到这一点。

标签: pythonparallel-processingipython-parallel

解决方案


推荐阅读