zoukankan      html  css  js  c++  java
  • 查找重复的音乐

    因为音乐U盘长期使用,保留住一些喜欢的歌,后续会下载更新一些,慢慢就对歌曲进行了分类放入不同的文件夹,这样就会很容易弄一些重复的歌曲,下面写的一段python小程序找出重复的歌曲.

      

     1 # coding=utf-8
     2 import sys
     3 import os
     4 
     5 # 获取所有的歌曲
     6 def find_audios(audio_root, audio_exts, audio_list):
     7     # 如果即不是目录也不是文件函数返回
     8     if not os.path.isdir(audio_root) and not os.path.isfile(audio_root):
     9         return False
    10     if os.path.isfile(audio_root):
    11         # 获得文件目录名与文件名
    12         dir_and_file = os.path.split(audio_root)
    13         # 获得文件的扩展名
    14         file_ext = dir_and_file[-1].split('.')[-1]
    15         if file_ext in audio_exts:
    16             audio_list.append(audio_root)
    17     elif os.path.isdir(audio_root):
    18         for audio_ch in os.listdir(audio_root):
    19             audio_ch_root = os.path.join(audio_root, audio_ch)
    20             audio_ch_root.replace('\', '/')
    21             find_audios(audio_ch_root, audio_exts, audio_list)
    22 
    23 # 检测重复的歌曲
    24 def check_audio_repeat(audio_list, repeat_list):
    25     while len(audio_list) > 0:
    26         audio = audio_list[0]
    27         audio_list.remove(audio)
    28         # 获取文件目录名与文件名
    29         dir_and_file = os.path.split(audio)
    30         # 获得文件名
    31         audio_name = dir_and_file[-1].split('.')[0]
    32         for audio_in in audio_list:
    33             _dir_and_file = os.path.split(audio_in)
    34             _audio_name = _dir_and_file[-1].split('.')[0]
    35             if audio_name == _audio_name:
    36                 repeat_list.append(audio)
    37                 repeat_list.append(audio_in)
    38 
    39 if __name__ == '__main__':
    40     # 判断参数是否传入正确
    41     if len(sys.argv) != 2:
    42         print('argv error:
    python ' + sys.argv[0] + ' {audio root}')
    43         sys.exit(0)
    44     else:
    45         audio_root = sys.argv[1]
    46         audio_exts = ['mp3', 'flac', 'ape']
    47         audio_list = []
    48         find_audios(audio_root, audio_exts, audio_list)
    49         audio_repeat = []
    50         check_audio_repeat(audio_list, audio_repeat)
    51         # 打印结果
    52         for audio_r in audio_repeat:
    53             print(audio_r)

    得到的结果信息:

     1 E:DevelopmentLive>python find_duplicate_audio.py I:Music
     2 I:Music时间记忆降央卓玛 - 西海情歌.ape
     3 I:MusicKougouPay100降央卓玛 - 西海情歌.flac
     4 I:Music时间记忆孙露 - 爱情的秋天.flac
     5 I:MusicUpdate20170913孙露 - 爱情的秋天.flac
     6 I:MusicKougou酷音乐流行风向标后弦 - 下完这场雨.flac
     7 I:MusicKougou酷音乐排行榜后弦 - 下完这场雨.flac
     8 I:MusicKougou酷音乐流行风向标任素汐 - 我要你.flac
     9 I:MusicKougou酷音乐排行榜任素汐 - 我要你.flac
    10 I:MusicKougou酷音乐流行风向标六哲 - 累了走了散了.flac
    11 I:MusicKougou酷音乐排行榜六哲 - 累了走了散了.flac
    12 I:MusicKougou酷音乐流行风向标陈粒 - 当我在这里.flac
    13 I:MusicKougou酷音乐排行榜陈粒 - 当我在这里.flac
    14 I:MusicKougou酷音乐流行风向标李玉刚 - 刚好遇见你.flac
    15 I:MusicKougou酷音乐排行榜李玉刚 - 刚好遇见你.flac
    16 I:MusicKougou酷音乐流行风向标唐古 - 心与心的距离.flac
    17 I:MusicKougou酷音乐排行榜唐古 - 心与心的距离.flac
    18 I:MusicKougou酷音乐流行风向标G.E.M.邓紫棋 - 死了都要 · 爱.flac
    19 I:MusicKougouTop100G.E.M.邓紫棋 - 喜欢你.flac
    20 I:MusicKougou酷音乐流行风向标唐古 - 别让眼泪轻易的落下.flac
    21 I:MusicKougou酷音乐排行榜唐古 - 别让眼泪轻易的落下.flac
    22 I:MusicKougou酷音乐流行风向标庄心妍 - 有种离开叫舍不得.flac
    23 I:MusicKougou酷音乐排行榜庄心妍 - 有种离开叫舍不得.flac
    24 I:MusicKougou酷音乐流行风向标孙露 - 怎样遇见你.flac
    25 I:MusicKougou酷音乐排行榜孙露 - 怎样遇见你.flac
    26 I:MusicKougou酷音乐流行风向标陈瑞 - 没人心疼的玫瑰.flac
    27 I:MusicKougou酷音乐排行榜陈瑞 - 没人心疼的玫瑰.flac
    28 I:MusicKougou酷音乐流行风向标唐古 - 我的城市没有家.flac
    29 I:MusicKougou酷音乐排行榜唐古 - 我的城市没有家.flac
    30 I:MusicKougou酷音乐流行风向标王蓉 - 人鱼校花.flac
    31 I:MusicKougou酷音乐排行榜王蓉 - 人鱼校花.flac
    32 I:MusicKougou酷音乐流行风向标凤凰传奇 - 远方的远方还是远方.flac
    33 I:MusicKougou酷音乐排行榜凤凰传奇 - 远方的远方还是远方.flac
    34 I:MusicKougou酷音乐排行榜张靓颖 - 一定要幸福.flac
    35 I:MusicKougouPay100张靓颖 - 一定要幸福.flac
    36 I:MusicKougou网络红歌榜庄心妍 - 走着走着就散了.flac
    37 I:MusicKougouTop100庄心妍 - 走着走着就散了.flac
    38 I:MusicKougou网络红歌榜庄心妍 - 以后的以后.flac
    39 I:MusicKougouTop100庄心妍 - 以后的以后.flac
    40 I:MusicKougou网络红歌榜陈雅森 - 我的快乐就是想你.flac
    41 I:MusicKougouTop100陈雅森 - 我的快乐就是想你.flac
    42 I:MusicUpdate20170913梦然 - 没有你陪伴真的好孤单.mp3
    43 I:MusicUpdate20170913梦然 - 没有你陪伴真的好孤单.flac
  • 相关阅读:
    flexible
    arcgis
    vue 语法糖
    sass 的安装 编译 使用
    nodeJs
    微信小程序
    linux cgroups 简介
    git命令
    sublime笔记
    工程优化学习(进退法、黄金分割法、二次插值法、三次插值法、最速下降法)
  • 原文地址:https://www.cnblogs.com/linxmouse/p/7517855.html
Copyright © 2011-2022 走看看