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