查找重复的音乐
因为音乐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:\npython ' + 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:\Development\Live>python find_duplicate_audio.py I:\Music 2 I:\Music\时间记忆\降央卓玛 - 西海情歌.ape 3 I:\Music\Kougou\Pay100\降央卓玛 - 西海情歌.flac 4 I:\Music\时间记忆\孙露 - 爱情的秋天.flac 5 I:\Music\Update20170913\孙露 - 爱情的秋天.flac 6 I:\Music\Kougou\酷音乐流行风向标\后弦 - 下完这场雨.flac 7 I:\Music\Kougou\酷音乐排行榜\后弦 - 下完这场雨.flac 8 I:\Music\Kougou\酷音乐流行风向标\任素汐 - 我要你.flac 9 I:\Music\Kougou\酷音乐排行榜\任素汐 - 我要你.flac 10 I:\Music\Kougou\酷音乐流行风向标\六哲 - 累了走了散了.flac 11 I:\Music\Kougou\酷音乐排行榜\六哲 - 累了走了散了.flac 12 I:\Music\Kougou\酷音乐流行风向标\陈粒 - 当我在这里.flac 13 I:\Music\Kougou\酷音乐排行榜\陈粒 - 当我在这里.flac 14 I:\Music\Kougou\酷音乐流行风向标\李玉刚 - 刚好遇见你.flac 15 I:\Music\Kougou\酷音乐排行榜\李玉刚 - 刚好遇见你.flac 16 I:\Music\Kougou\酷音乐流行风向标\唐古 - 心与心的距离.flac 17 I:\Music\Kougou\酷音乐排行榜\唐古 - 心与心的距离.flac 18 I:\Music\Kougou\酷音乐流行风向标\G.E.M.邓紫棋 - 死了都要 · 爱.flac 19 I:\Music\Kougou\Top100\G.E.M.邓紫棋 - 喜欢你.flac 20 I:\Music\Kougou\酷音乐流行风向标\唐古 - 别让眼泪轻易的落下.flac 21 I:\Music\Kougou\酷音乐排行榜\唐古 - 别让眼泪轻易的落下.flac 22 I:\Music\Kougou\酷音乐流行风向标\庄心妍 - 有种离开叫舍不得.flac 23 I:\Music\Kougou\酷音乐排行榜\庄心妍 - 有种离开叫舍不得.flac 24 I:\Music\Kougou\酷音乐流行风向标\孙露 - 怎样遇见你.flac 25 I:\Music\Kougou\酷音乐排行榜\孙露 - 怎样遇见你.flac 26 I:\Music\Kougou\酷音乐流行风向标\陈瑞 - 没人心疼的玫瑰.flac 27 I:\Music\Kougou\酷音乐排行榜\陈瑞 - 没人心疼的玫瑰.flac 28 I:\Music\Kougou\酷音乐流行风向标\唐古 - 我的城市没有家.flac 29 I:\Music\Kougou\酷音乐排行榜\唐古 - 我的城市没有家.flac 30 I:\Music\Kougou\酷音乐流行风向标\王蓉 - 人鱼校花.flac 31 I:\Music\Kougou\酷音乐排行榜\王蓉 - 人鱼校花.flac 32 I:\Music\Kougou\酷音乐流行风向标\凤凰传奇 - 远方的远方还是远方.flac 33 I:\Music\Kougou\酷音乐排行榜\凤凰传奇 - 远方的远方还是远方.flac 34 I:\Music\Kougou\酷音乐排行榜\张靓颖 - 一定要幸福.flac 35 I:\Music\Kougou\Pay100\张靓颖 - 一定要幸福.flac 36 I:\Music\Kougou\网络红歌榜\庄心妍 - 走着走着就散了.flac 37 I:\Music\Kougou\Top100\庄心妍 - 走着走着就散了.flac 38 I:\Music\Kougou\网络红歌榜\庄心妍 - 以后的以后.flac 39 I:\Music\Kougou\Top100\庄心妍 - 以后的以后.flac 40 I:\Music\Kougou\网络红歌榜\陈雅森 - 我的快乐就是想你.flac 41 I:\Music\Kougou\Top100\陈雅森 - 我的快乐就是想你.flac 42 I:\Music\Update20170913\梦然 - 没有你陪伴真的好孤单.mp3 43 I:\Music\Update20170913\梦然 - 没有你陪伴真的好孤单.flac