首页 > 解决方案 > 遍历子目录并删除重复 md5 哈希的文件

问题描述

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

我需要帮助编写一个函数,该函数接收目录并返回没有 txt 文件的目录,这些文件由 subdir 具有重复的 md5 哈希值。

标签: pythonmd5subdirectory

解决方案


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

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

你可以open(filename,"rb")用来打开一个文件进行阅读(二进制是好的)

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

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

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

你看到的任何东西,你会用os.remove它来删除

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


推荐阅读