Ich habe eine Liste, die ich im Verlaufe des Programmablaufes ändern will.
Das Programm soll dann die neue Liste verwenden.
Wie kann man die veränderte Liste abspeichern??
Beispielliste: a = [1,3,5,7]
Danke im Vorraus!
Wie speichert man Listen ab??
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Was meinst du mit "neue Liste verwenden"? Kanonische Antwort: Indem du sie an den entsprechenden Stellen übergibst.theotter hat geschrieben:Ich habe eine Liste, die ich im Verlaufe des Programmablaufes ändern will.
Das Programm soll dann die neue Liste verwenden.
Was meinst du mit "abspeichern"? Persistent auf der Festplatte? Kopien erzeugen?theotter hat geschrieben:Wie kann man die veränderte Liste abspeichern??
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
schau dir mal json.dumps (http://docs.python.org/library/json) an und evt. das pickle Modul (http://docs.python.org/library/pickle.html)
the more they change the more they stay the same
Vielleicht erzählst du uns, wie du jetzt vorgehst...theotter hat geschrieben:Ok, es hat geklappt, das ich etwas einspeichere, aber das sieht mir nicht ganz wie ne liste aus bzw. weiß ich nich wie ist das wieder in die "normale" Listenform bekomme.
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Eben wieder mit pickle, in dem Fall `pickle.load`.
Edit: Nicht vergessen die Datei im Binaermodus zu oeffnen.
Und wenn du eine Menschen-lesbare version haben willst, solltest du JSON benutzen.
P.S. Wenn man mit `c*`-Modulen arbeitet, sollte man so vorgehen:
Edit: Nicht vergessen die Datei im Binaermodus zu oeffnen.
Und wenn du eine Menschen-lesbare version haben willst, solltest du JSON benutzen.
P.S. Wenn man mit `c*`-Modulen arbeitet, sollte man so vorgehen:
Code: Alles auswählen
try:
import cPickle as pickle
except ImportError:
import pickle
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Lies Dir doch mal die Doku genau durch! Bei pickle hast Du ja auch load verwendet, nicht loads!
Im übrigen würde ich bei JSON die Datei nicht im Binärmodus öffnen. JSON ist ja ein reines Textformat.
Außerdem öffnte man Dateien mit Hilfe des with-Statement:
Damit wird garantiert, dass die Datei auf jeden Fall wieder geschlossen wird, egal, ob eine Exception auftritt o.ä.
Im übrigen würde ich bei JSON die Datei nicht im Binärmodus öffnen. JSON ist ja ein reines Textformat.
Außerdem öffnte man Dateien mit Hilfe des with-Statement:
Code: Alles auswählen
with open(..) as infile:
# mache irgend was mit infile
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
So ich habe es jetzt weiter versucht und bin mit der Doku, aufgrund der Fachbegriffe nicht ganz so zurecht gekommen.
Es kommt immer wieder die Fehlermeldung:
Traceback (most recent call last):
File "E:/Python26/Listenspeicherung.py", line 5, in <module>
with open(f) as infile:
TypeError: coercing to Unicode: need string or buffer, file found
Was heißt das bitte und viel wichtiger, wie kann man das lösen??
Es kommt immer wieder die Fehlermeldung:
Traceback (most recent call last):
File "E:/Python26/Listenspeicherung.py", line 5, in <module>
with open(f) as infile:
TypeError: coercing to Unicode: need string or buffer, file found
Was heißt das bitte und viel wichtiger, wie kann man das lösen??
Hallo.
Vielleicht solltest du Google einfach mal nach "python with" fragen. Und eine Datei zum Schreiben zu öffnen und daraus zu lesen ist nicht die klügste Idee.
Das einzige was hilft: mal das Tutorial durcharbeiten.
Vielleicht solltest du Google einfach mal nach "python with" fragen. Und eine Datei zum Schreiben zu öffnen und daraus zu lesen ist nicht die klügste Idee.
Das einzige was hilft: mal das Tutorial durcharbeiten.
Das Leben ist wie ein Tennisball.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Indem mans ich entweder die Doku anguckt, welche Parameter die open()-Funktion erwartet, oder sich seinen eigenen Code (!) noch einmal anguckt oder aber genau die Fehlermeldung anguckt, die einem ja verrät, was die open()-Funktion als Parameter bekommen hat und was sie aber stattdessen erwartet!theotter hat geschrieben: Was heißt das bitte und viel wichtiger, wie kann man das lösen??
Zudem:
Wir haben spezielle Code-tags hier im Forum, mit denen man Quelltext im Allgemeinen und Python sogar mit Syntax-Highlighting versehen kann.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
`f` muss der Dateiname (inkl. Pfad) sein. Danach ist `infile` dein Datei-Objekt, das du zum Laden verwenden sollst.
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/