Python MP3 ID3 标签编辑器

8

我帮助朋友整理大量的MP3音乐库,需要将标题ID3标签与文件名相同。通过Windows属性更改需要很长时间,所以我想知道是否有人知道如何编写Python脚本,以便快速地对目录中的所有MP3文件进行此操作。或者至少提供一个可在Windows上安装的库的链接。

3个回答

10

4

这是我编写的一个Python脚本,用于实现此功能:https://gitlab.com/tomleo/id3_folder_rename

#! /usr/bin/python

import os
import re
import glob
import subprocess

from mutagen.easyid3 import EasyID3

path = os.getcwd()
fpath = u"%s/*.mp3" % path
files = glob.glob(fpath)

for fname in files:
    _track = EasyID3(fname)
    track_num = _track.get('tracknumber')[0]
    track_title = re.sub(r'/', '_', _track.get('title')[0])
    if '/' in track_num:
        track_num = track_num.split('/')[0]
    if len(track_num) == 1:
        track_num = "0%s" % track_num
    _valid_fname = u"%s/%s %s.mp3" % (path, track_num, track_title)
    if fname != _valid_fname:
        subprocess.call(["/bin/mv", fname, _valid_fname])

它使用mutagen python库来解析ID3信息。您需要调整subprocess的调用以使其与Windows配合使用,但这应该可以让您了解如何操作。希望对您有所帮助。

0
挖掘这个出来是因为它仍然是一个话题(17k次浏览),这里链接的软件包已经过时。
截至2023年10月的快速搜索显示:
  • tinytag:简单,看起来很Pythonic,但只能读取标签。
  • mutagen:更复杂,还可以写入标签。
可能是重复的问题:Python中的ID3-mp3编辑 - 最新的软件包?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接