python - 遍历子目录并删除重复 md5 哈希的文件
问题描述
我有一个目录,其中包含很多子目录,这些子目录中有 txt 文件。对于每个子目录,我想在相应的子目录中获取每个文件的 md5 哈希,并删除该子目录 [Python] 中任何重复的 md5 哈希。
我需要帮助编写一个函数,该函数接收目录并返回没有 txt 文件的目录,这些文件由 subdir 具有重复的 md5 哈希值。
解决方案
您可以使用os.listdir
列出目录
你可以os.path.join(BASEDIR,filename)
用来获取结果的路径
你可以open(filename,"rb")
用来打开一个文件进行阅读(二进制是好的)
您可以使用filehandle.read
从文件中获取字节
您可以使用hashlib.md5
生成 md5(以及其他方法)
您将使用列表/集合/或字典来跟踪您已经看到的内容(集合或字典会更快)
你看到的任何东西,你会用os.remove
它来删除
这是您可以用来解决问题的一种算法,还有很多其他方法也可以解决这个问题
推荐阅读
- asp.net-mvc - PDFTron webviewer - 如何使用 ASP.net MVC Core 将整个编辑的 pdf 保存到服务器
- javascript - 我无法重新分配 javascript 字符串变量
- stata - Stata - 生成唯一组合忽略顺序
- twitter - Zapier 查找 Twitter URL 提及
- makefile - 为什么 arm-poky-linux-gnueabi-ar 说“invalid option -- 'g'”,而这个选项没有出现在命令行的 args 列表中?
- python - 在python Elasticsearch中滚动不起作用
- azure - 使用 Entity Framework Core 的 Azure Cosmos Db 429 重试策略
- excel - VBA - 将星期几的名称从任何语言更改为英文
- templates - HTML 标记未出现在 Gmail 和 Outlook 中(可能是其他标记)
- javascript - SAPPER - MikroORM:循环依赖,初始化前无法访问“人员”