Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何提取;编码为;从mp3元数据使用Python?_Python_Metadata_Mp3_Eyed3 - Fatal编程技术网

如何提取;编码为;从mp3元数据使用Python?

如何提取;编码为;从mp3元数据使用Python?,python,metadata,mp3,eyed3,Python,Metadata,Mp3,Eyed3,我正试图编写一个Python脚本来从一些mp3文件中提取元数据标记。具体地说,我希望提取“相册”和“编码方式”,如果我右键单击文件并查看“详细信息”下的内容,则可以提取“相册”和“编码方式”: 我正在使用该库解析元数据。我使用这个库是因为我认为它可以很容易地完成我的任务,但我并没有嫁给它 我能够很容易地提取“相册”,但不能提取“编码方式”字段。如果我打印出所有的歌曲标签,我看不到任何类似于我所需要的“Encoded by”字段的内容。有什么想法吗 这是我的密码: import eyed3 d

我正试图编写一个Python脚本来从一些mp3文件中提取元数据标记。具体地说,我希望提取“相册”和“编码方式”,如果我右键单击文件并查看“详细信息”下的内容,则可以提取“相册”和“编码方式”:

我正在使用该库解析元数据。我使用这个库是因为我认为它可以很容易地完成我的任务,但我并没有嫁给它

我能够很容易地提取“相册”,但不能提取“编码方式”字段。如果我打印出所有的歌曲标签,我看不到任何类似于我所需要的“Encoded by”字段的内容。有什么想法吗

这是我的密码:

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
中找到了它,但如果不是这样,我肯定会用这个。很高兴听到这个,罗伯托!