Klasseninstanzen in Liste werden nicht erkannt

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
t512
User
Beiträge: 5
Registriert: Mittwoch 21. April 2010, 16:55

Hallo. Ich bin gerade dabei ein Programm zu schreiben, welches Datensätze in einer Liste speichert und diese mit pickle in eine Datei schreibt.
Die Datensätze sind Instanzen einer Klasse, welche ich geschrieben habe, damit ich leichter auf die einzelnen Elemente eines Datensatzes zugreifen kann.
Wenn ich anschließend die Liste aus der Datei auslese

Code: Alles auswählen

class ListenEintrag(object):
   def __init__(self, x):
      self.x = x

datei = open('datei.txt', 'r')
liste = pickle.load(datei)
for eintrag in liste:
   print eintrag.x
und auf die einzelnen Datensätze zugreifen möchte wird ein Fehler gemeldet 'list' object has no attribute 'x'
Weiß jemand, was ich falsch mache?
BlackJack

@t512: Die Datei scheint nicht das zu enthalten was Du denkst was sie enthält. Hast Du das alles vielleicht *nochmal* in eine Liste verpackt?
t512
User
Beiträge: 5
Registriert: Mittwoch 21. April 2010, 16:55

Danke für deine Antwort. Ich habe irrtümlich append() benutzt um an eine bestehende Liste eine weitere anzuhängen. Dadurch befanden sich in der Liste weitere Listen.
Antworten