在Python中编辑类文件对象的MP3元数据?

时间:2009-10-07 21:39:50

标签: python mp3 metadata id3

我们在Python中动态生成MP3文件,需要使用类似文件的对象在内存中编辑ID3标头。

PyPI 上的所有ID3库都显示为,要求您将文件系统路径作为字符串传递。我觉得这很令人沮丧!

将我们生成的MP3写入磁盘(或ramdisk)只是为了添加ID3标签是不可接受的,原因有很多,尤其是性能。

鉴于ID3库的丰富,是否有一个ID3库可以简单地处理类似文件的对象?

4 个答案:

答案 0 :(得分:2)

对于那些在遥远的未来找到这个答案的人https://ideone.com/v4BiBH,对我来说非常有效,而且其中一个MP3对象的构造函数需要 文件路径或< / em>类文件对象(文档称之为'filething')。

来自mutagen

  

传递给FileType或Metadata的第一个参数可以是文件名也可以是类文件对象,例如StringIO(Python 3中的BytesIO),mutagen将会知道要做什么。

MP3("myfile.mp3")
MP3(myfileobj)

答案 1 :(得分:0)

答案 2 :(得分:0)

嗯,答案似乎是没有这样的动物存在。编程到界面的优势显然在python MP3框架黑客上丢失了。我们通过修改现有的库来解决问题。

答案 3 :(得分:-1)

AFAIR标记附加到文件末尾。你可能想要研究这种格式并自己创建一个简单的库,这应该不是很困难。

另外,您可以考虑将它们临时存储在像tmpfs(ramdisk)这样的文件系统上。