搜索

查看: 3345|回复: 11

[Python] 车载音乐U盘重复歌曲太多?让Python来帮你

[复制链接]
发表于 2022-6-25 23:09:23 | 显示全部楼层 |阅读模式
小老虎 2022-6-25 23:09:23 3345 11 看全部
  1. import os
  2. from collections import Counter   #引入Counter

  3. dbtype_list = os.listdir("F:\")

  4. for dbtype in dbtype_list[::]:
  5.     if os.path.isfile(os.path.join("F:\",dbtype)):
  6.         dbtype_list.remove(dbtype)

  7. for curDir in dbtype_list:
  8.     try:
  9.         files = os.listdir("F:\" + curDir)
  10.         t = os.listdir("F:\" + curDir)
  11.     except:
  12.         continue

  13.     print("下面开始搜索:",curDir,"\n",file = open(r'result.txt','a'))
  14.     for i in range(len(t)):
  15.         a = t[i].split('-')
  16.         files[i] = a[0]
  17.         if(len(a) > 1):
  18.             for j in a[1:]:
  19.                 files.append(j)

  20.     def is_chinese(uchar):
  21.         if uchar >= '\u4e00' and uchar <= '\u9fa5':
  22.             return True
  23.         else:
  24.             return False

  25.     def reserve_chinese(content):
  26.         content_str = ''
  27.         for i in content:
  28.             if is_chinese(i):
  29.                 content_str += i
  30.         return content_str

  31.     for i in range(len(files)):
  32.         files[i] = reserve_chinese(files[i])
  33.     def rename_duplicate(list, print_result=False):
  34.         new_list=[v + str(list[:i].count(v) + 1) if list.count(v) > 1 else v for i, v in enumerate(list)]
  35.         if print_result:
  36.             print("Renamed list:",new_list)
  37.         return new_list

  38.     def clean_duplicate(list,print_result=False):
  39.         no_duplicate_list=[]
  40.         duplicate_list=[]
  41.         duplicate_dict={}
  42.         for ele in list:
  43.             duplicate_list.append(ele)
  44.             if ele not in no_duplicate_list:
  45.                 no_duplicate_list.append(ele)
  46.             else:
  47.                 ind=len(duplicate_list)-1
  48.                 duplicate_dict[ele]=duplicate_dict.get(ele,[list.index(ele)])
  49.                 duplicate_dict[ele].append(ind)
  50.         if print_result:
  51.             print('Origin list:',duplicate_list,'\nNew list:',no_duplicate_list,'\nDuplicate dict:',duplicate_dict,"\n",file = open(r'result.txt','a'))
  52.         return duplicate_list,no_duplicate_list,duplicate_dict


  53.     origin_list=files
  54.     _,no_duplicate_list,duplicate_dict=clean_duplicate(origin_list,True)
  55.     renamed_list=rename_duplicate(origin_list,True)
复制代码


回复

使用道具 举报

发表于 2023-6-28 20:06:28 | 显示全部楼层
风吹吹蛋蛋疼风w 2023-6-28 20:06:28 看全部
这东西我收了!谢谢楼主!知鸟论坛真好!
回复

使用道具 举报

发表于 2023-6-29 03:57:15 | 显示全部楼层
麻辣鸡翅 2023-6-29 03:57:15 看全部
楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
回复

使用道具 举报

发表于 2023-6-29 14:35:56 | 显示全部楼层
123456868 2023-6-29 14:35:56 看全部
我看不错噢 谢谢楼主!知鸟论坛越来越好!
回复

使用道具 举报

发表于 2023-6-29 17:37:15 | 显示全部楼层
执着等待等wc 2023-6-29 17:37:15 看全部
我看不错噢 谢谢楼主!知鸟论坛越来越好!
回复

使用道具 举报

发表于 2023-6-29 22:47:00 | 显示全部楼层
心随674 2023-6-29 22:47:00 看全部
这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
回复

使用道具 举报

发表于 2023-6-30 09:11:54 | 显示全部楼层
幸福341 2023-6-30 09:11:54 看全部
论坛不能没有像楼主这样的人才啊!我会一直支持知鸟论坛
回复

使用道具 举报

发表于 2023-6-30 09:14:58 | 显示全部楼层
戏做顿 2023-6-30 09:14:58 看全部
这东西我收了!谢谢楼主!知鸟论坛真好!
回复

使用道具 举报

发表于 2023-7-3 16:54:42 | 显示全部楼层
素色流年783 2023-7-3 16:54:42 看全部
楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
回复

使用道具 举报

发表于 2023-7-3 17:25:06 | 显示全部楼层
小妖花满楼满fx 2023-7-3 17:25:06 看全部
感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
回复

使用道具 举报

  • 您可能感兴趣
点击右侧快捷回复 【请勿灌水】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

RSS订阅| SiteMap| 小黑屋| 知鸟论坛
联系邮箱E-mail:zniao@foxmail.com
快速回复 返回顶部 返回列表