如何提取;编码为;从mp3元数据使用Python?
我正试图编写一个Python脚本来从一些mp3文件中提取元数据标记。具体地说,我希望提取“相册”和“编码方式”,如果我右键单击文件并查看“详细信息”下的内容,则可以提取“相册”和“编码方式”: 我正在使用该库解析元数据。我使用这个库是因为我认为它可以很容易地完成我的任务,但我并没有嫁给它 我能够很容易地提取“相册”,但不能提取“编码方式”字段。如果我打印出所有的歌曲标签,我看不到任何类似于我所需要的“Encoded by”字段的内容。有什么想法吗 这是我的密码:如何提取;编码为;从mp3元数据使用Python?,python,metadata,mp3,eyed3,Python,Metadata,Mp3,Eyed3,我正试图编写一个Python脚本来从一些mp3文件中提取元数据标记。具体地说,我希望提取“相册”和“编码方式”,如果我右键单击文件并查看“详细信息”下的内容,则可以提取“相册”和“编码方式”: 我正在使用该库解析元数据。我使用这个库是因为我认为它可以很容易地完成我的任务,但我并没有嫁给它 我能够很容易地提取“相册”,但不能提取“编码方式”字段。如果我打印出所有的歌曲标签,我看不到任何类似于我所需要的“Encoded by”字段的内容。有什么想法吗 这是我的密码: import eyed3 d
import eyed3
def main():
music_file = r'G:\Music Collection\54-40\Sweeter Things A Compilation\01 Miss You - 54-40.mp3'
audiofile = eyed3.load(music_file)
for attribute_name in dir(audiofile.tag):
attribute_value = getattr(audiofile.tag, attribute_name)
print attribute_name, attribute_value
if __name__ == "__main__":
main()
print 'done'
如果你愿意放弃eyed3,诱变剂库值得一试。它在bitbucket()上主动维护 以下是从诱变剂中的id3v2标签中提取“编码者”字段的示例:
from mutagen.mp3 import MP3
audio = MP3("poison-and-wine.mp3")
print "Track: " + audio.get("TIT2").text[0]
print "Encoded By: " + audio.get("TENC").text[0]
印刷品:
Track Poison & Wine
Encoded By JKuhn
您要查找的“encoded by”标记是ID32.3/2.4中的
TENC
。它没有弹出吗?原来“Encoded by”字段隐藏在frame\u set
对象返回的列表中:audiofile.tag.frame\u set['TENC'][0]。text
这并没有明确回答我的问题,但确实给了我一个有用的线索。原来“Encoded by”字段隐藏在由frame_集
object:audiofile.tag.frame_集['TENC'][0]返回的列表中。我在eyed3
中找到了它,但如果不是这样,我肯定会用这个。很高兴听到这个,罗伯托!