Frage

Wir sind Erzeugen von MP3-Dateien on the fly in Python, und bearbeiten müssen die ID3-Header in-Speicher eine dateiähnliche Objekt.

Alle ID3-Bibliotheken auf PyPI erscheinen Sie benötigen ein Dateisystem-Pfad als String zu übergeben. Ich finde das ziemlich frustrierend!

Das Schreiben unseres erzeugen MP3 auf der Festplatte (oder RAM-Disk) nur ID3-Tags hinzuzufügen, ist nicht akzeptabel für eine Reihe von Gründen, vor allem Leistung.

die Fülle von ID3-Bibliotheken Gegeben gibt es eine ID3-Bibliothek, die einfach funktioniert mit dateiähnlichen Objekten?

War es hilfreich?

Lösung 3

Nun, scheint die Antwort zu sein, dass kein solches Tier vorhanden ist. Die Vorteile der Programmierung mit einer Schnittstelle sind offenbar auf dem Python MP3 Rahmen Hacker verloren. Wir lösten das Problem, indem eine bestehende Bibliothek zu ändern.

Andere Tipps

Für diejenigen zu finden, diese Antwort in der fernen Zukunft, Mutagen hat perfekt gearbeitet für mich und den Konstruktor für einen seiner MP3-Objekte nimmt entweder ein Dateipfad oder ein dateiähnliche Objekt (die Dokumentation nennt es ein ‚filething‘).

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

  

Das erste Argument für einen Dateityp oder Metadaten übergeben kann entweder ein Dateiname oder eine Datei-ähnliches Objekt, wie StringIO (BytesIO in Python 3) und Mutagen werden herausfinden, was zu tun ist.

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

AFAIR-Tags werden an das Ende der Datei angehängt. Sie könnten das Format studieren möchten und eine einfache Bibliothek selbst machen, die nicht sehr schwierig sein sollte.

Auch könnten Sie betrachten sie vorübergehend auf einem Dateisystem wie tmpfs (RAM-Disk) zu speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top