[Python-de] Liste mit Listen mit objekten und Strings speichern
Tino Schmedemann
freaktab at nbnet.de
Son Mai 22 00:57:33 CEST 2005
Gerold Penz wrote:
> Tino Schmedemann schrieb:
>
>> Ich suche im Moment nach einem einfachen Weg eine Terminliste zu
>> speichern - Aufbau ungefähr:
>> [
>> [dateobj,timeobj,string,string]
>> ...
>> ]
>> pickle scheint wohl nicht rekursiv zu arbeiten jedenfalls bekomme ich
>> nur eine leere Liste zurück :-o
>
>
>
> Hi Tino!
>
> Also ich habe das mal mit dem Pickle durchprobiert:
>
> >>> import time
> >>> import pickle
> >>> l = [[time.localtime(), "Text"],[time.localtime(), "Text"]]
> >>> pickle.dump(l, file(r"C:\_Ablage\xxx.pickle", "wb"))
> >>> ll = pickle.load(file(r"C:\_Ablage\xxx.pickle"))
> >>> ll
> [[(2005, 5, 21, 22, 56, 24, 5, 141, 1), 'Text'], [(2005, 5, 21, 22,
> 56, 24, 5, 141, 1), 'Text']]
> >>> type(l[0][0])
> <type 'time.struct_time'>
> >>> ll[0][0].tm_hour
> 22
>
> Es wurden Objekte und Strings gespeichert und nach dem Laden wurden
> auch die Time-Objekte wieder als Objekt erkannt.
>
> Vielleicht solltest du mal ein wenig Code posten, damit der Fehler
> lokalisiert werden kann.
>
> mfg
> Gerold
> :-)
>
ah Fehler gefunden - war n bisschen zu voreilig lag an einer nicht
globalen Variablen was mich zur nächsten Frage motiviert :
CODE
-----------------------------------------------------------------------------------------
terminliste = []
def loadTerminListe():
f = open('terminliste.bin','r')
teilnehmerliste = pickle.load(f)
f.close()
def saveTerminListe():
f = open('terminliste.bin','w')
pickle.dump(terminliste,f)
f.close()
CODE
------------------------------------------------------------------------------------------
das sind wohl die relevanten Teile ... code hat funktioniert bloss der
dump hat wohl gedacht terminliste wäre ne lokale variable - wie kommt
sowas?