python 为 网易云下载的 本地音乐文件增加 序号

news2024/11/20 12:24:24

前言

网易云下载的音乐文件,信息挺全的,但是缺少序号,用本地播放器听是乱序的,就很头疼。
遂写一个python脚本解决问题

本python会把基于音乐文件的元信息,重命名文件 到 以下格式
序号 标题.后缀

额外依赖库

mutagen

使用方法

把以下源代码复制到一个文件里,例如 重命名音乐文件.py
然后使用命令

python 重命名音乐文件.py D:/网易云音乐下载目录

即可,自动将文件夹内,包含子文件夹,把音乐文件全部重命名

源代码

import os
import shutil
import argparse
import mutagen
# import re


def process_dir(in_dir):

    char_tr_table = str.maketrans('\/:*?"<>|', '\/:*?"<>|')

    # reg = re.compile('''^\d{2} .+$''')
    for root, dirs, files in os.walk(in_dir):

        for file in files:

            in_fp = root + '/' + file

            # if reg.match(file):
            #     # 快速跳过
            #     continue

            title = None
            tracknumber = None
            ext = os.path.splitext(file)[1]

            try:
                meta = mutagen.File(in_fp, easy=True)
                title = meta.get('title', None)
                tracknumber = meta.get('tracknumber', None)
                title = title[0]
                tracknumber = int(tracknumber[0])
            except BaseException as e:
                print(f'警告!跳过文件{in_fp},因为遇到了错误 {e}')

            if tracknumber is None or title is None:
                continue

            # 把不合法字符转换为全角
            title = title.translate(char_tr_table)

            out_fp = f'{root}/{tracknumber:02d} {title}{ext}'

            if in_fp == out_fp:
                continue

            # print(f'移动文件 {in_fp} -> {out_fp}')
            shutil.move(in_fp, out_fp)


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('in_dir', type=str, help='要处理的文件夹')

    args = parser.parse_args()
    process_dir(args.in_dir)

效果如下
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1031794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工时表软件如何彻底改变时间跟踪工作?

在工作场所&#xff0c;生产率的下降一直在消耗我们的精力和钱包。你知道吗&#xff0c;每年仅生产力倦怠一项&#xff0c;每位员工就会给企业造成 1,967 美元的惊人损失&#xff01; 好消息是&#xff0c;有一种创新的解决方案可以解决这种生产力下降的问题&#xff0c;它就是…

远程控制桌面软件是否支持远程防护墙配置

远程控制桌面软件是一种便捷的工具&#xff0c;它能够帮助用户在远程访问和操作计算机桌面。然而&#xff0c;远程控制软件是否支持远程防火墙配置这个问题的答案并不是简单的是或否。下面将从软件设计的角度和实际使用情况的角度来解释这个问题。 首先&#xff0c;让我们了解一…

国产自研BI系统,更懂中国企业数据分析需求

国产自研BI系统是指由中国企业自主研发的商业智能&#xff08;BI&#xff09;系统&#xff0c;这类系统更加了解中国企业的数据分析需求&#xff0c;能够提供更加贴合实际的解决方案。比如说奥威BI系统就是典型的国产自研&#xff0c;不仅了解中国企业的数据分析需求&#xff0…

(2022|ICML,Diffusion,引导,ADM)GLIDE:使用文本引导扩散模型实现逼真图像生成和编辑

GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models 公众号&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要 1. 简介 2. 背景 2.1. 扩…

PCB布线之电源线干扰?|深圳比创达EMC

一客户画户外摄像头的板子&#xff0c;板子上电源线非常多&#xff0c;6层板&#xff0c;电源层已经被分割完了&#xff0c;还有2根电源线&#xff0c;没办法只能并行走线了&#xff0c;板子画完后发主管评审&#xff0c;主管让其在2根电源线中间走一根地线&#xff0c;该客户感…

什么是AI视频智能分析?你真的懂AI视频分析吗?

AI视频分析&#xff0c;顾名思义就是指利用人工智能技术对视频数据进行分析和处理的过程。通过计算机视觉和深度学习等技术&#xff0c;能自动地从视频数据中提取有用的信息、模式与结构&#xff0c;并生成对视频内容的理解和推理。那么&#xff0c;AI视频分析技术包括哪几个方…

oracle客户端的安装(SQL Developer)

参考资料 软件首页&#xff1a;https://www.oracle.com/database/sqldeveloper/ 官方文档&#xff1a;https://docs.oracle.com/en/database/oracle/sql-developer/ 下载地址&#xff1a;https://www.oracle.com/database/sqldeveloper/technologies/download/ 安装指南&#…

GB28181协议-SIP协议详解

1.SIP协议 SIP&#xff08;Session initialization Protocol&#xff0c;会话初始协议&#xff09;是由IETF&#xff08;Internet Engineering Task Force&#xff0c;因特网工程任务组&#xff09;制定的多媒体通信协议。 它是一个基于文本的应用层控制协议&#xff0c;用于…

位图bitset及其应用——【C++实现】

本章代码gitee仓库&#xff1a;位图实现及其应用 文章目录 1.位图的概念2. 位图的实现3. 位图应用 1.位图的概念 当面对海量数据时&#xff0c;我们一般的数据结构无法存储那么多的值&#xff0c;要对这些数据进行分析&#xff0c;我们就可以采用位图来对这些数据进行标记&…

02强化学习基本概念

强化学习基本概念 前言1、State、Action、Policy等① State② Action③ State transition④ State transition probability⑤ Polity 2、Reward、Return、MDP等① Reward② Trajectory and return③ Discounted return④ Episode⑤ MDP 总结&#xff1a; 前言 本文来自西湖大学…

PMP考试300条知识点汇总,20天上岸!

PMP考试300条知识点完整内容可在文末获取。 3、项目管理 vs 运营管理 项目与日常运营的共同特征&#xff1a; 由人来做、 受制于有限的资源、需要规划、执行和控制、为了实现组织的目标或战略计划 项目与日常运营的根本区别&#xff1a; 项目是临时的&#xff1b;运营是持…

企业进行品牌推广时怎么才能达到预期广告效应?不如试试软文营销

企业进行品牌推广的目的就在于提升品牌的曝光率&#xff0c;树立该品牌在市场中的形象&#xff0c;加强品牌的影响力与公信力&#xff0c;提高产品的竞争力&#xff0c;那么企业进行品牌推广时怎么才能达到预期效果呢&#xff0c;我们可以试试软文营销&#xff0c;接下来媒介盒…

竞赛选题 基于深度学习的目标检测算法

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…

从丢失msvcp140_codecvt_ids.dll到修复,解决方法详解

在日常计算机使用过程中&#xff0c;我们有时会遇到一些烦人的错误提示。其中之一就是丢失了msvcp140_codecvt_ids.dll文件。当我们打开某些应用程序或游戏时&#xff0c;可能会收到类似于“找不到msvcp140_codecvt_ids.dll”或“该应用程序无法正常启动”的错误信息。这可能会…

Guava Cache介绍-面试用

一、Guava Cache简介 1、简介 Guava Cache是本地缓存&#xff0c;数据读写都在一个进程内&#xff0c;相对于分布式缓存redis&#xff0c;不需要网络传输的过程&#xff0c;访问速度很快&#xff0c;同时也受到 JVM 内存的制约&#xff0c;无法在数据量较多的场景下使用。 基…

按文件大小批量分类保存,高效管理你的文件!

作为一名文件管理者&#xff0c;你是否经常为如何高效地管理大量文件而烦恼&#xff1f;现在&#xff0c;我们为你提供了一种简单、快速、准确的方法&#xff0c;帮助你轻松解决这个问题&#xff01; 首先。进入文件批量改名高手主页面&#xff0c;并在板块栏里选择“文件智能…

Android 启动优化案例:WebView非预期初始化排查

去年年底做启动优化时&#xff0c;有个比较好玩的 case 给大家分享下&#xff0c;希望大家能从我的分享里 get 到我在做一些问题排查修复时是怎么看上去又low又土又高效的。 1. 现象 在我们使用 Perfetto 进行app 启动过程性能观测时&#xff0c;在 UI 线程发现了一段 几十毫…

当语文课本上的古诗词遇上拓世AI,文生图绘就东方美学画卷

东方美学自古以来一直以其深刻的内涵和精致的表现形式&#xff0c;吸引着世界各地的文化爱好者。在中国的文学传统中&#xff0c;古诗词扮演着不可或缺的角色。诗词是我国文学宝库中的瑰宝&#xff0c;也是我们民族的文化精髓。如今随着人工智能技术的崛起&#xff0c;古诗词与…

基于微信小程序付费自习室系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考论文参考源码获取 前言 &#x1f497;博主介绍&#x…

文心一言 VS 讯飞星火 VS chatgpt (98)-- 算法导论9.3 4题

四、用go语言&#xff0c;对一个包含n个元素的集合&#xff0c;假设一个算法只使用比较来确定第i小的元素&#xff0c;证明:无需额外的比较操作&#xff0c;它也能找到第 i-1 小的元素和第 n-i大的元素。 文心一言&#xff1a; 在这个问题中&#xff0c;我们要使用一个称为&q…