gpt4 book ai didi

python - 如果文件夹中的所有文件都具有不同的内容,如何检查 python?

转载 作者:可可西里 更新时间:2023-11-01 10:12:52 24 4
gpt4 key购买 nike

我有一个包含大量文档(.txt 文件)的巨大文件夹。我想检查一些文件是否有相同的内容。文件名都是唯一的。

我知道如何比较两个文件如下:

>>> import filecmp
>>> filecmp.cmp('file1.txt', 'file1.txt')
True
>>> filecmp.cmp('file1.txt', 'file2.txt')
False

但我想一次比较所有文件。有人知道我该怎么做吗?

最佳答案

这是一种通过 MD5 总和对所有 .txt 文件进行分类的简单方法:

import glob
import hashlib
import json
from collections import defaultdict


def md5(filename):
hash_md5 = hashlib.md5()
with open(filename, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()


dct = defaultdict(list)

for filename in glob.iglob('**/*.txt', recursive=True):
dct[md5(filename)].append(filename)

因此,如果您只想检查哪些内容与您查询的内容相同:

print([v for k, v in dct.items() if len(v) > 1])

关于python - 如果文件夹中的所有文件都具有不同的内容,如何检查 python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51632645/

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