gpt4 book ai didi

Python:高效的文件io

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:11 26 4
gpt4 key购买 nike

同时读取两个大文件并进行一些处理的最有效(最快)方法是什么?

我有两个文件; a.txt 和 b.txt,每个包含大约十万行对应的内容。我的目标是读入这两个文件,然后对每一行对做一些处理

def kernel:
a_file=open('a.txt','r')
b_file=open('b.txt', 'r')
a_line = a_file.readline()
b_line = b_file.readline()
while a_line:
process(a_spl,b_spl) #process requiring both corresponding file lines

我查看了 xreadlines 和 readlines,但我想知道我是否可以做得更好。速度对于这项任务至关重要。

谢谢。

最佳答案

下面的代码不会从内存中的输入文件中累积数据,除非 process 函数自己执行此操作。

from itertools import izip

def process(line1, line2):
# process a line from each input

with open(file1, 'r') as f1:
with open(file2, 'r') as f2:
for a, b in izip(f1, f2):
process(a, b)

如果 process 函数是高效的,那么对于大多数用途来说,这段代码应该运行得足够快。 for 循环将在到达文件的one 末尾时终止。如果任一文件包含特别长的行(即 XML、JSON),或者文件不是文本,则此代码可能无法正常工作。

关于Python:高效的文件io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045757/

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