gpt4 book ai didi

python - 如何在python中高效地迭代两个文件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:42 25 4
gpt4 key购买 nike

我有两个文本文件,它们应该有很多匹配行,我想找出文件之间到底有多少行匹配。问题是这两个文件都很大(一个文件大约 3gb,另一个超过 16gb)。所以很明显,使用 read() 或 readlines() 将它们读入系统内存可能是非常有问题的。有小费吗?我正在编写的代码基本上只是一个 2 个循环和一个用于比较它们的 if 语句。

最佳答案

由于输入文件非常大,如果您关心性能,您应该考虑简单地使用 grep -f-f 选项从文件中读取模式,因此根据您所追求的确切语义,它可能会满足您的需要。您可能还需要 -x 选项,以便只进行整行匹配。所以 Python 中的整个事情可能看起来像这样:

child = subprocess.Popen(['grep', '-xf', file1, file2], stdout=subprocess.PIPE)
for line in child.stdout:
print line

关于python - 如何在python中高效地迭代两个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14853188/

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