2013-04-18 7 views
5

Ich versuche, ihren Namen Unicode-Zeichen gegeben zu drucken, wie folgt:Python Escape-Sequenz N {name} nicht per Definition arbeiten

# -*- coding: utf-8 -*- 
print "\N{SOLIDUS}" 
print "\N{BLACK SPADE SUIT}" 

jedoch der Ausgang ich nicht sehr ermutigend ist.

Die Escape-Sequenz wird so gedruckt, wie sie ist.

ActivePython 2.7.2.5 (ActiveState Software Inc.) based on 
Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on 
Type "help", "copyright", "credits" or "license" for more information. 
>>> # -*- coding: utf-8 -*- 
... print "\N{SOLIDUS}" 
\N{SOLIDUS} 
>>> print "\N{BLACK SPADE SUIT}" 
\N{BLACK SPADE SUIT} 
>>> 

ich aber sehen, dass another asker dies erfolgreich tun konnte.

Was ist los?

+1

Die andere Frage Python 3 wurde, sind Sie 2.7. –

Antwort

14

Those sequences only work in unicode strings, die die einzige Art von Zeichenfolge Python 3 ist. In Python 2 müssen Sie also dem Zeichenfolgenliteral eine u voranstellen.

>>> print "\N{SOLIDUS} \N{BLACK SPADE SUIT}" 
\N{SOLIDUS} \N{BLACK SPADE SUIT} 
>>> print u"\N{SOLIDUS} \N{BLACK SPADE SUIT}" 
/♠ 

entsprechende Zeile aus der Dokumentation:

\N{name} Charakter namens Namen in der Unicode-Datenbank (nur Unicode)

+0

Oh, die Führung vor der Saite ist der magische Teil. –

Verwandte Themen