使用Python批量对本地歌曲重命名,实现头部自动添加专辑内歌曲的序号(音轨)

  • 语言:Python 3.5.5
  • 使用到的库:os库、Mutagen库(均可以使用pip方法安装)
  • 目录结构限制:歌曲存储目录结构为 “根目录——歌手名——专辑名——歌曲”
  • 歌曲格式限制:仅支持MP3格式
  • 功能实现:重命名音乐格式为**“音轨——歌曲名——歌手名.mp3”**

关键功能实现,通过mutagen库函数得到相关信息:

mu = mutagen.File(srcFile)
trackNum = mu.get("TRCK").text[0]          #得到音轨号
performer = mu.get("TPE1").text[0]         #得到表演者
songName = mu.get("TIT2").text[0]          #得到歌曲名称

完整代码

import os
import mutagen
dir = "E:/CloudMusic/"				#保存下载歌曲的根目录,此处以网易云为例
performerList = os.listdir(dir)
for performer in performerList:	
    performerDir = dir + performer + '/'
    albumList = os.listdir(performerDir)
    for album in albumList:           
        albumDir = performerDir + album + '/'
        print(albumDir)
        os.chdir(albumDir)
        songsList = os.listdir(albumDir)
        for song in songsList:     
            srcFile = albumDir + song
            mu = mutagen.File(srcFile)            #得到音轨号等信息
            if(mu == None or mu.get("TRCK") == None):
                continue                         
            trackNum = mu.get("TRCK").text[0]
            performer = mu.get("TPE1").text[0]
            songName = mu.get("TIT2").text[0]
            if (int(trackNum) < 10):
                trackNum = '0' + trackNum
            newName = trackNum + ' - ' + songName + ' - ' + performer + '.mp3'
            print(newName)
            try:
                os.rename(song, newName)
            except:
                continue

仅更改一张专辑下的文件:

import os
import mutagen
dir = "E:/CloudMusic/Television/Marquee Moon" #需要处理的歌曲目录,请根据实际情况替换
os.chdir(dir)
songsList = os.listdir(dir)
for song in songsList:
    srcFile = dir + "/" + song
    mu = mutagen.File(srcFile)
    trackNum = mu.get("TRCK").text[0]          #得到音轨号
    performer = mu.get("TPE1").text[0]         #得到表演者
    songName = mu.get("TIT2").text[0]          #得到歌曲名称
    if(int(trackNum) < 10):
        trackNum = '0' + trackNum
    newName = trackNum + ' - ' + songName + ' - ' + performer + '.mp3'
    print(newName)
    os.rename(song, newName)


程序运行前:
运行前
程序运行后:
运行后
参考资料:

  1. Mutagen库的使用指南
  2. Python OS 文件/目录方法
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值