Ich verwende Python 2.6.5. Mein Code erfordert die Verwendung des Zeichens "mehr als oder gleich". Hier geht es:Python: Verwenden von .format() für eine Unicode-Escape-Zeichenfolge
>>> s = u'\u2265'
>>> print s
>>> ≥
>>> print "{0}".format(s)
Traceback (most recent call last):
File "<input>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265'
in position 0: ordinal not in range(128)`
Warum bekomme ich diesen Fehler? Gibt es einen richtigen Weg, dies zu tun? Ich muss die .format()
Funktion verwenden.
@Kit: Wenn Sie alle Literale wollen Unicode (wie in Python 3), setzen Sie 'von __future__ Import unicode_literals' am Anfang Ihrer Quelldateien sein. – Philipp
Ja, das wird Sie erreichen, wenn Sie% Formatierung gewohnt sind, da "% s"% u "\ u2265" funktioniert, aber "{}". Format (u "\ u2265") löst eine Ausnahme aus. – Hylidan
was für eine einfache Sache .. was für eine schreckliche Kopfschmerzen ich bekam, bis ich dieses bisschen Erleuchtung fand .. –