如何检查python文件夹中的所有文件是否具有不同的内容?

拉卡

我有一个很大的文件夹,里面有很多文件(.txt文件)。我想检查某些文件是否有相同的内容。文件名都是唯一的。

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

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

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

BPL

这是一种通过MD5 sum对所有.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])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C# - 如何检查文件夹中的所有文件是否具有特定扩展名

如何检查特定用户是否对Delphi中的文件夹/文件具有特定访问权限

如何检查所有文件夹和子文件夹是否都不为空?

如何从Python中的不同文件夹导入所有文件

Powershell脚本检查给定文件夹文件夹中是否存在文件列表中的所有文件

是否可以删除文件夹的所有内容?

如何删除具有许多子文件夹的主文件夹中的所有文件?

查找目录中具有相同内容的所有文件夹

如何检查文件夹是否包含具有特定路径的n个文件

检查文件夹中是否有空文件

Bash检查文件夹中的所有文件是否都可被www-data写入

检查文件夹SSIS中是否存在具有随机名称的文件

检查JQUERY的同一文件夹中是否存在1个或多个具有相同名称但具有不同扩展名的文件

如何删除目录中没有特定文件夹及其内容的所有内容

如何使用python删除文件夹中的所有文件夹?

如何在python中获得具有特定文件夹同级的特定文件夹

如何在具有多个文件夹的文件夹中打开和显示多个文件的内容?

如何删除特定文件夹中具有特定扩展名的所有文件?

如何在GmailApp中添加2个不同的Google驱动器文件夹的所有内容

如何自动检查/确保所有外部库是否都包含在Eclipse中的lib文件夹中?

循环浏览文件夹中具有不同文件扩展名的所有文件

删除不同子目录中具有相同名称的文件夹的内容

Ansible:如何从特定角色的“文件”文件夹中复制所有内容

如何确保从子文件夹中删除除 *.bin 文件之外的所有内容?

如何使用vba遍历所有子文件夹及其子文件夹等等,以检查文件夹是否存在?

删除子文件夹中的所有内容

删除文件夹中除具有特定名称的文件夹外的所有文件夹

在调用cmake之前删除build文件夹中的所有内容是否合理?

如何检查文本文件的文件夹中是否有重复的URL