7

为我朋友的 MP3 播放器重新组织一个大型 MP3 库,我需要将 Title ID3 标签命名为与文件名相同,并且通过 Windows 属性执行此操作需要很长时间,所以我想知道是否有人知道如何制作一个 Python 脚本,快速连续地对目录中的所有 MP3 执行此操作。或者至少是一个可安装在 Windows 上的库的链接。

4

2 回答 2

10

看这个:

Dive Into Python也以 MP3 ID3 标签为例。

不要忘记PyPI - Python 包索引。

于 2012-11-02T03:01:19.970 回答
3

这是我为此编写的一个 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 信息。您必须调整子进程调用它以使其与 Windows 一起工作,但这应该让您知道如何做到这一点。希望这可以帮助。

于 2016-05-24T23:04:02.673 回答