You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python修改MP3等音频元数据 移除下载站点自带的标题标记

问题原因

你使用的tinytag是只读的音频元数据读取库,本身不支持元数据修改操作,因此只能读取打印无法完成修改需求。

解决方案

推荐使用mutagen库,它支持几乎所有常见音频格式的元数据读写操作,完全覆盖你用到的mp3、m4a、flac、alac格式。

第一步:安装依赖

pip install mutagen

第二步:修改后的完整代码

import os
from mutagen import File
from mutagen import MutagenError

path = "你的音频文件根目录路径"  # 替换为你自己的实际目录

for root, dirs, files in os.walk(path):
    for name in files:
        if not name.endswith((".mp3",".m4a",".flac",".alac")):
            continue
        file_path = os.path.join(root, name)
        try:
            # 读取音频文件,easy模式可简化元数据读写逻辑
            audio = File(file_path, easy=True)
            if audio is None:
                print(f"无法识别的文件:{file_path}")
                continue
            
            # 读取原标题,兼容无标题元数据的情况
            original_title = audio.get("title", [""])[0]
            if not original_title:
                print(f"文件无标题元数据:{file_path}")
                continue
            
            # 移除标题中的yt5s.com相关内容,可根据实际情况补充替换规则
            cleaned_title = original_title.replace("yt5s.com", "").replace("YT5S.COM", "")\
                                        .replace("-  ", "- ").strip().strip("-").strip()
            # 如需处理带括号的前缀,可补充下面的规则
            # cleaned_title = cleaned_title.replace("[yt5s.com]", "").strip()
            
            # 写回修改后的标题
            audio["title"] = cleaned_title
            audio.save()
            print(f"处理完成:{original_title} -> {cleaned_title}")

        except MutagenError as e:
            print(f"处理文件出错 {file_path}:{str(e)}")

补充说明

  • 代码中使用os.path.join拼接路径,兼容Windows、Mac、Linux系统,避免硬编码路径分隔符的兼容性问题
  • 你可以根据自己实际遇到的标题格式,自行添加更多replace规则处理其他多余字符
  • 如果需要同时修改艺术家、专辑等其他元数据,和修改title的逻辑一致,直接给audio["artist"]/audio["album"]等字段赋值后保存即可

内容的提问来源于stack exchange,提问作者czromXL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:27:03