python - 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 来并行化代码但还没有成功,有没有办法做到这一点。
解决方案
推荐阅读
- python - 获取 numpy unicode 字符串 dtype 长度的最佳方法
- javascript - 如何在 Javascript 中显示金字塔?
- python - 我的数据集中有文本。我想将其转换为一种热编码
- azure-logic-apps - 如何创建一个创建制表符分隔表的逻辑应用程序?
- sql-server - 优化 OLE DB 目标以实现从 Oracle 到 SSIS 的 SQL Server 的快速加载
- excel - 如果逻辑语句为 NO,则更改单元格颜色
- javascript - 如何防止使用javascript再次调用函数?
- flowable - 如何在 dockered jelastic 实例中管理 url 重定向到 localhost
- hibernate - 使用 SimpleAsyncTaskExecutor 时的数据库连接泄漏
- python - 使用 if 条件扩展操作