【问题标题】:Looping through subdirectories and deleting files that are duplicate md5 hashes循环遍历子目录并删除重复 md5 哈希的文件
【发布时间】:2020-09-22 22:35:58
【问题描述】:
我有一个包含很多子目录的目录,这些子目录中有 txt 文件。对于每个子目录,我想获取相应子目录中每个文件的 md5 哈希值,并删除该子目录 [Python] 中所有重复的 md5 哈希值。
我需要帮助编写一个函数,该函数接收目录并返回没有 txt 文件的目录,这些文件具有子目录的重复 md5 哈希值。
【问题讨论】:
标签:
python
md5
subdirectory
【解决方案1】:
您可以使用os.listdir 列出目录
您可以使用os.path.join(BASEDIR,filename) 获取结果的路径
你可以使用open(filename,"rb")打开一个文件进行读取(二进制是可以的)
您可以使用filehandle.read 从文件中获取字节
您可以使用hashlib.md5 生成 md5(以及其他方法)
您将使用列表/集合/或字典来跟踪您已经看到的内容
(set 或 dict 会更快)
您看到的任何内容都可以使用os.remove 来删除
这是您可以用来解决问题的一种算法,还有很多其他方法也可以解决此问题