mutagen 或 eyed3:识别并读取 ID3v1
mutagen or eyed3: identify and read ID3v1
我的大部分 MP3 文件都标有 ID3v1 和 ID3v2。我想编写一个脚本来读取文件并识别 ID3v1 版本,而不考虑其他 ID3 版本。
我正在努力处理以下代码 (eyed3)。如果 ID3v1 是唯一使用的版本,isV1
只是 True
。但是代码打印
V1 > False
V2 > True
对于 ID3v1 和 ID3v2 的文件。
代码使用 eyed3 但我也接受 mutagen(但找不到如何编码的示例)。
import eyed3
a = eyed3.load("song.mp3")
print("V1", a.tag.isV1())
print("V2", a.tag.isV2())
- 在
eyed3.id.tag.parse()
中,您可以看到如果找到 ID3v2,则不再加载潜在的 ID3v1。
- 在
eyed3.core.load()
中,您可以看到该函数不仅有 1 个文件名参数,还有第二个要 find/load. 的标记版本
- 可在
eyed3.id3
中找到该参数的可用常量 - 您很可能对任何版本的 ID3v1 和任何版本的 ID3v2 感兴趣。
结合这些知识,您必须加载文件两次并对其进行操作:
v1 = eyed3.load("song.mp3", ID3_V1)
print("V1", v1.tag.isV1())
v2 = eyed3.load("song.mp3", ID3_V2)
print("V2", v2.tag.isV2())
我的大部分 MP3 文件都标有 ID3v1 和 ID3v2。我想编写一个脚本来读取文件并识别 ID3v1 版本,而不考虑其他 ID3 版本。
我正在努力处理以下代码 (eyed3)。如果 ID3v1 是唯一使用的版本,isV1
只是 True
。但是代码打印
V1 > False
V2 > True
对于 ID3v1 和 ID3v2 的文件。
代码使用 eyed3 但我也接受 mutagen(但找不到如何编码的示例)。
import eyed3
a = eyed3.load("song.mp3")
print("V1", a.tag.isV1())
print("V2", a.tag.isV2())
- 在
eyed3.id.tag.parse()
中,您可以看到如果找到 ID3v2,则不再加载潜在的 ID3v1。 - 在
eyed3.core.load()
中,您可以看到该函数不仅有 1 个文件名参数,还有第二个要 find/load. 的标记版本
- 可在
eyed3.id3
中找到该参数的可用常量 - 您很可能对任何版本的 ID3v1 和任何版本的 ID3v2 感兴趣。
结合这些知识,您必须加载文件两次并对其进行操作:
v1 = eyed3.load("song.mp3", ID3_V1)
print("V1", v1.tag.isV1())
v2 = eyed3.load("song.mp3", ID3_V2)
print("V2", v2.tag.isV2())