Ich habe ein Programm, das einige Listen ausgibt, mit denen ich später arbeiten möchte. Angenommen, sie gibt eine Liste von Schülernamen und eine andere Liste ihrer Zwischenergebnisse aus. Ich kann diese Ausgabe auf zwei Arten speichern:
Standard-Dateiausgabe:
%Vor%Der Essiggurkenweg:
%Vor%Welche Technik ist besser oder bevorzugt? Gibt es einen Vorteil, einen über den anderen zu verwenden?
Danke
Ich denke, das csv
Modul könnte hier gut passen, da CSV ein Standardformat ist kann sowohl von Python (und vielen anderen Sprachen) gelesen und geschrieben werden als auch von Menschen lesbar. Die Verwendung könnte so einfach wie
Es wäre jedoch wahrscheinlich sinnvoller, einen Schüler pro Reihe zu schreiben, einschließlich des Namens und der Punktzahl. Das kann so gemacht werden:
%Vor% pickle
ist generischer - es ermöglicht Ihnen, viele verschiedene Arten von Objekten in einer Datei zur späteren Verwendung zu speichern. Der Nachteil ist, dass der Zwischenspeicher nicht sehr gut lesbar ist und nicht in einem Standardformat.
Das Schreiben von Strings in eine Datei ist dagegen eine viel bessere Schnittstelle zu anderen Aktivitäten oder Code. Aber es kostet Sie, den Text wieder in Ihr Python-Objekt zu zerlegen.
Beide sind in Ordnung für diese einfachen (Liste?) Daten; Ich würde write( firstNames )
einfach verwenden, weil es kein Gurken braucht. Wie Sie Ihre Daten im Dateisystem persistieren können, hängt von den Daten ab!
Zum Beispiel wird pickle
glücklich Funktionen pickle, was Sie nicht tun können, indem Sie einfach die String-Darstellungen schreiben.
Für einen völlig anderen Ansatz sollten Sie berücksichtigen, dass Python mit SQLite ausgeliefert wird . Sie könnten Ihre Daten in einer SQL-Datenbank speichern, ohne Abhängigkeiten von Drittanbietern hinzuzufügen.