Pregunta

Estamos generando archivos MP3 sobre la marcha en Python, y la necesidad de editar los encabezados ID3 en memoria utilizando un objeto de tipo fichero.

Todas las bibliotecas ID3 en PyPI aparecer para requieren que pasar una ruta de sistema de archivos como una cadena. Me parece bastante frustrante!

Escribir nuestra MP3 generada a disco (o disco RAM) sólo para añadir etiquetas ID3 es inaceptable para un número de razones, sobre todo el rendimiento.

Dada la plenitud de bibliotecas ID3 , ¿hay una biblioteca ID3 que simplemente se trabaja con objetos de archivo similar?

¿Fue útil?

Solución 3

Bueno, la respuesta parece ser que no existe tal animal. Las ventajas de la programación a una interfaz aparentemente se pierden en los piratas informáticos marco MP3 pitón. Hemos resuelto el problema mediante la modificación de una biblioteca existente.

Otros consejos

Para aquellos que encontrar esta respuesta en un futuro lejano, mutágeno , ha funcionado a la perfección para mí y para el constructor de uno de sus objetos MP3 toma o bien una ruta de archivo o un objeto de fichero (los documentos llaman un 'filething').

https://mutagen.readthedocs.io/en/latest/ usuario / filelike.html :

  

El primer argumento pasado a un tipo de archivo o metadatos pueden ser o bien un nombre de archivo o un objeto de tipo fichero, como StringIO (BytesIO en Python 3) y mutágeno se darán cuenta de qué hacer.

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

etiquetas AFAIR se añaden al final del archivo. Es posible que desee estudiar el formato y hacer una biblioteca sencilla a sí mismo, que no debería ser muy difícil.

Además, usted podría considerar su almacenamiento temporal en un sistema de archivos como tmpfs (disco RAM).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top