Ich möchte eine sehr kleine Liste in einer Textdatei abspeichern und wieder laden. Bisher funktioniert Folgendes:
Code: Alles auswählen
a={'a':(2,4),'b':(4,5)}
file = open(fileName,"w")
file.write(str(aniClipRanges))
file.close()
Code: Alles auswählen
file = open(fileName,"r")
a = eval(file.read())
file.close()
{u'a': (2, 4), u'b': (4, 5)}
Nur werden alle Daten in eine Zeile geschrieben. Ich brauche aber EINE Zeile pro Eintrag. Also ist das Schreiben geändert in
Code: Alles auswählen
file = open(fileName,"w")
file.write("{\n")
for clip in a.keys():
s = "u'%s' : %s"%( clip, a[clip] )
if clip != a.keys()[-1]:
s+=",\n"
file.write(s)
file.write("\n}\n")
file.close()
Die Datei sieht dann ungefähr so aus:
{
u'a': (2, 4),
u'b': (4, 5)
}
Doch beim Einlesen kommt immer eine Fehlermeldung bei eval(). Und zwar beim ersten Zeichen "{". Was kann ich tun?
Danke für Hilfe
Chris