Verschiedene Dateiformate als Datensatz speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Hallo Pythonforum,

ich habe das Problem einen Text (string) ein Bild (jpg) und ein Soundfile (mp3??) als einen Datensatz speichern zu müssen. Was bietet sich da an? Kann ich das mit Pickle erledigen, wäre das mit SQLite zu machen oder kann ich binäre Daten auch in einer XML Datei speichern? Was böte sich da an wenn man insgesammt ca. 1000 solche Datensätze handeln muß.

Gruß
alpha
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Binäre Daten in einer Datenbank ablegen ist meist keine gute Idee. Du konntest die Dateien doch ins Dateisystem ablegen und nur den Pfad in die Datenbank speichern.
Aufpassen muß man allerdings bei doppelten Dateinamen ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Hallo jens,

danke für den Tip. Ich finde es aber irgendwie unpraktisch hunderte von Dateien in einem Verzeichnis zu haben die irgendwelche Namen haben und ich keinen Zusammenhang zu den anderen Dateien sehe. Gibts da keine andere Lösung?

alpha
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Der Zusammenhang kommt halt aus den Information aus der Datenbank, die sagt, welches Bild mit welchem Ton zusammen gehört.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
n4p
User
Beiträge: 55
Registriert: Dienstag 10. Juni 2008, 11:05

Wenn du es sowieso in einer Datenbank stehen hast kannst du ja auch eine gewisse Struktur rein bringen und zumindest nach Typ soriteren. Allerdings solltest du dann nicht manuell drin rumändern, da sonst deine Datenbank nicht mehr passen würde.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Ich würde es ganz simple machen und die Metadaten in einer Datenbank schreiben. (ich denke mal das in deinem Fall SQlite reichen sollte)
Ich würde dann die ID's der Datenbankeinträge nehmen welche den Namen der Dateien bestimmen. (wovon eine immer mit .mp3 und eine mit .jpg endet.)
Man kann auch eine ID vom User erfragen. Haupsache sie ist unique.

Ich würde die Daten auf jeden Fall nicht in einen Kontainer stopfen, das wird nur unnötig kompliziert und garantiert langsamer.
Antworten