因为音乐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