Frage

Ich bin auf der Suche nach einer einfachen Lösung mit Python-Daten speichern als Textdatei, so dass jede Zeile eine String-Darstellung eines Arrays ist, das leicht analysiert werden kann.

Ich bin sicher, dass Python-Bibliothek hat für eine solche Aufgabe einfach zu tun, aber bisher alle Ansätze, die ich gefunden zu haben schien, wie es schlampig gewesen wäre, um es zu arbeiten und ich bin sicher, es ist ein besserer Ansatz. Bisher habe ich versucht:

  • die array.toFile () -Methode, aber konnte nicht herausfinden, wie man es mit verschachtelten Arrays von Strings zu arbeiten, wie es schien auf Integer-Datenausgerichtet.
  • Listen und Sätze haben keine toFile Methode eingebaut, so würde ich gehabt haben, um es manuell zu analysieren und codieren.
  • schien CSV wie ein guter Ansatz, aber dies auch manuell erfordern würde das Parsen und habe mich einfach nicht zulassen, dass neue Zeilen am Ende anfügen -. So keine neuen Anrufe die die CSVWriter die Datei vorhandenen Daten überschreiben würde

Ich versuche wirklich zu vermeiden Datenbanken (vielleicht SQLite, aber es scheint ein wenig übertrieben), weil ich dies keine Softwarevoraussetzungen neben Python entwickeln muß mich versucht.

War es hilfreich?

Lösung

muss die Datei menschlich lesbar sein? Wenn nicht, shelve ist wirklich einfach zu bedienen.

Andere Tipps

Neben pickle ( oben erwähnt), gibt es < a href = "http://docs.python.org/library/json.html" rel = "nofollow noreferrer"> json (Baujahr bis 2,6, erhältlich über simplejson davor) und marshal . Außerdem gibt es einen reader im selben der Schriftsteller noreferrer"> csv Modul ist in

UPDATE: Wie S. Lott in einem Kommentar darauf hingewiesen, gibt es auch YAML, erhältlich über PyYAML unter anderem .

  

Ich bin auf der Suche nach einer einfachen Lösung mit Python-Daten speichern als Textdatei, so dass jede Zeile eine String-Darstellung eines Arrays ist, das leicht analysiert werden kann.

Sind die Daten gehen immer nur von Python-Programme analysiert werden? Wenn nicht, dann würde ich Gurke et al (ad acta legen und Marschall) vermeiden, da sie sehr Python spezifisch sind. JSON und YAML haben den großen Vorteil, dass Parser für die meisten jede Sprache leicht verfügbar sind.

Diese Lösung bei Source verwendet nur Standard-Python-Module:

y_serial.py Modul :: Lager Python-Objekte mit SQLite

"Serialisierung + persistance :: in wenigen Zeilen Code, komprimieren und mit Anmerkungen versehen Python-Objekte in SQLite, dann sie durch Schlüsselwörter ohne SQL zeitlich später abrufen Am nützlichsten.‚Standard‘Modul für ein Datenbank-Schema-weniger Daten zu speichern, ".

http://yserial.sourceforge.net

SQLite ist nicht „overkill“ überhaupt - Sie werden erstaunt sein, wie einfach es ist; und es löst allgemeinere Daten persistance Fragen.

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