首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从音频文件(.MP3和.FLAC)中删除单个标签(Python、Mutagen)

从音频文件(.MP3和.FLAC)中删除单个标签(Python、Mutagen)
EN

Stack Overflow用户
提问于 2018-06-08 01:59:05
回答 3查看 2K关注 0票数 2

所以我使用的是Python3和Mutagen,我知道如何从音频文件中删除所有的标签元数据。

对于mp3文件,我只需使用:

代码语言:javascript
复制
from mutagen.easyid3 import EasyID3
audio = EasyID3(filepath)
audio.delete()
audio.save()

对于.flac,我必须使用:

代码语言:javascript
复制
from mutagen.flac import FLAC
audio = FLAC(filepath)
audio.delete()
audio.clear_pictures()
audio.save()

但是,如果我只想删除单个标记呢?例如,如果我只想清除"date“标记,该怎么办?我不确定如何做到这一点,无论是MP3文件或FLAC音频文件,我想知道如何做到这两个。如何在Python中只清除一个带有Mutagen的标记呢?谢谢。

EN

回答 3

Stack Overflow用户

发布于 2020-08-08 18:18:17

您可以将标记设置为空字符串并保存文件,但在将内容打印为空/空条目时,它将继续显示

我发现像列表中的条目一样弹出不需要的标签似乎是有效的。我只测试了FLAC,但我相信MP3也会是类似的

代码语言:javascript
复制
from mutagen.flac import FLAC
audio = FLAC(filepath)
audio.pop('date')
audio.save()
票数 2
EN

Stack Overflow用户

发布于 2018-09-15 05:59:34

只需将空字符串分配给它。例如,我们想要删除tracknumber标记:

代码语言:javascript
复制
mp3file = EasyID3(filename)
mp3file["tracknumber"] = ""
mp3file.save()
票数 1
EN

Stack Overflow用户

发布于 2020-09-13 05:27:25

比方说,如果你想删除图片,你可以将特定的标签设置为一个空列表:

代码语言:javascript
复制
from mutagen.id3 import ID3
file = ID3(filepath)
file.setall('APIC', [])
file.save()

这将完全删除标签和关联的图稿。

如果你不知道你感兴趣的标签的具体名称,你可以这样做:

代码语言:javascript
复制
print(file.pprint())

参考:https://mutagen.readthedocs.io/en/latest/api/id3.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50747484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档