Pickle vs Ausgabe in eine Datei in Python

8

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

    
Curious2learn 27.08.2010, 20:49
quelle

3 Antworten

4

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

sein %Vor%

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%     
David Z 27.08.2010 20:59
quelle
3

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.

%Vor%     
katrielalex 27.08.2010 20:53
quelle
0

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.

    
Kirk Strauser 27.08.2010 23:11
quelle

Tags und Links