遍历子目录并删除重复的md5哈希值的文件

问题描述

我有一个包含许多子目录的目录,这些子目录中带有txt文件。对于每个子目录,我想在各自的子目录中获取每个文件的md5哈希值,并删除该子目录[Python]中任何重复的md5哈希值。

我需要帮助编写一个函数,该函数接受目录并返回目录,而该目录不包含由subdir重复的md5哈希值的txt文件

解决方法

您可以使用os.listdir列出目录

您可以使用os.path.join(BASEDIR,filename)获取结果的路径

您可以使用open(filename,"rb")打开文件进行读取(二进制正常)

您可以使用filehandle.read从文件中取出字节

您可以使用hashlib.md5生成md5(以及其他方法)

您将使用列表/集合/或字典来跟踪您已经看到的内容 (设置或字典会更快)

您看到的所有内容都将使用os.remove删除

这是您可以用来解决问题的一种算法,还有许多其他方法也可以解决此问题