查找重复的音乐

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

 

posted @ 2017-09-13 21:40  非法关键字  阅读(1107)  评论(0编辑  收藏  举报