【问题标题】:Remove duplicate files using python使用python删除重复文件
【发布时间】:2012-06-05 18:26:01
【问题描述】:

作为一个个人项目(为了更好地学习 python),我开始使用一个重复文件删除器(特别是对于 .mp3 文件,因为我在尝试组织我的完全重复的音乐收藏时想到了它)。现在,我非常清楚如何继续,匹配文件名并仅提供删除那些具有超过 0.7 相似性比率的文件,并对那些相同但名称完全不同的文件使用 md5 总和(例如:“metallica - 其他都不重要”和“Track1”)。问题是我不知道如何处理那些具有不同名称并且它们彼此有点不同的文件,例如,“没有其他问题”和“Track1”是相同的,除了“ Track1" 结束时有 2 秒的静音。我的问题是:是否有某种方法或算法可以检查文件本身之间的相似性?像字符串匹配但在文件上的东西?不管它是不是一个复杂的算法,越难越好,因为我这样做只是为了学习:D

【问题讨论】:

  • 基于相似性匹配 MP3 文件让我觉得这是一项非常重要的任务。如果您找到一个可以立即进行匹配的库,请在您的项目中使用它。如果你不能,那么我鼓励你选择一个不同的项目来学习这门语言。
  • 要以有意义的方式执行此操作,您可能需要解码 MP3 文件,而不是进行一些相当复杂的统计分析,可能包括傅里叶变换声音数据的互相关。如果你真的从事这个项目,你会学到很多关于统计学的知识,而对 Python 知之甚少。
  • 嗯,我是一名计算机专业的学生,​​有4个月的空闲时间(暑假),我有点想从事一项不平凡的工作,如果可以的话,我在想关于使用 matlab/mathematica 获取声波图或噪音水平(我不太熟悉声音处理术语),然后绘制它们并比较结果图,但这可能又会耗费时间和内存

标签: python file matching


【解决方案1】:

您可以使用Chromaprint,它为一段音乐计算指纹。它应该能够找到类似的音乐文件。

如果您想进一步推动这一点,您可以使用musicbrainz 的 api 来查找有关某首音乐的确切信息。

这些库用于我使用的两个伟大的音乐库标记和排序应用程序:picardbeets

【讨论】:

    【解决方案2】:

    你也可以看看win32模块,这里是链接

    http://timgolden.me.uk/python/index.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 2017-05-20
      • 2021-08-20
      • 2019-03-09
      相关资源
      最近更新 更多