Aufbau von Strukturen mt construct

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
Thomas W.
User
Beiträge: 17
Registriert: Sonntag 9. April 2006, 08:36
Wohnort: Halle (Saale)

Sonntag 1. Juni 2008, 12:53

Hallo,

ich habe ein Problem mit dem Modul construct. Meine Struktur enthält entweder die Kennung "II" oder "MM". Ich brauche die Kennung an eine anderen Stelle wieder, deshalb möchte ich nicht nur prüfen, ob die Kennung den Bedingungen entspricht sondern sie auch speichern. Ich habe mir folgenden Code zusammengesucht:

Code: Alles auswählen

import construct as con

block = con.Struct("Struktur",
    con.String("kennung",2),
    con.OneOf(lambda ctx: ctx['kennung'],["AA","BB"])
    )
Leider erhalte ich die Fehlermeldung: "exception.AttributeError: 'function' has no attribute 'name'. Was passiert hier? Wie muss ich den Code schreiben, um auf den Inhalt von Kennung zugreifen zu können?

Thomas W.
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Sonntag 1. Juni 2008, 13:03

Code: Alles auswählen

block = Struct('Struktur',
     OneOf(String('kennung', 2), ['AA', 'BB'])
)

print block.parse('AA').kennung
Antworten