print-Befehl und repr für Objekte
Verfasst: Mittwoch 29. August 2007, 17:34
Ich will zur Fehlersuche eine NamedNodeMap aus dem Modul xml.dom mit print ausgeben. Wenn es klappt, sieht es folgendermaßen aus:Wenn aber der Value-String hinter Name="TEXT" einen Umlaut enthält, dann scheitert __repr__ in NamedNodeMap :Ich stelle mir vor, dass print eine __repr__-Methode von NamedNodeMap ruft. Wie kann ich nun solchen Methoden beibringen, encode('utf-8') zu verwenden ?
Code: Alles auswählen
<NamedNodeMap at 8277f4c: {(None, u'POSITION'): <Attribute Node at 827942c: Name="POSITION", Value="right">, (None, u'TEXT'): <Attribute Node at 827986c: Name="TEXT", Value="Christopher">, (None, u'ID'): <Attribute Node at 8279cac: Name="ID", Value="_">, (None, u'MODIFIED'): <Attribute Node at 8277fcc: Name="MODIFIED", Value="1188401475130">, (None, u'CREATED'): <Attribute Node at 827b10c: Name="CREATED", Value="1187432777498">}>
Code: Alles auswählen
node Traceback (most recent call last):
File "freemind.py", line 31, in <module>
print walker.currentNode.tagName, walker.currentNode.attributes
File "/usr/lib/python2.5/site-packages/_xmlplus/dom/NamedNodeMap.py", line 148, in __repr__
st = st + repr(k) + ': ' + repr(self[k]) + ', '
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 48: ordinal not in range(128)