Zeigen Sie Sonderzeichen an, wenn Sie die Druckanweisung verwenden

89

Ich möchte die Escape-Zeichen bei Verwendung der print-Anweisung anzeigen. Z.B

a = "Hello\tWorld\nHello World"
print a
Hello   World
Hello World

Ich möchte, dass Folgendes angezeigt wird: "Hallo \ tWelt \ nHallo \ sWelt"

Ian Phillips
quelle

Antworten:

159

Verwenden Sie repr :

a = "Hello\tWorld\nHello World"
print(repr(a))
# 'Hello\tWorld\nHello World'

Beachten Sie, dass Sie keinen Platz bekommen \s. Ich hoffe das war ein Tippfehler ...?

Aber wenn Sie wirklich \sRäume wollen , können Sie dies tun:

print(repr(a).replace(' ',r'\s'))
unutbu
quelle
1
Python 3 ist:print(repr(a))
07lodgeT
16

Möchten Sie die Zeichenfolge lediglich auf diese Weise drucken, oder möchten Sie, dass dies die interne Darstellung der Zeichenfolge ist? Wenn letzteres, erstellen Sie es als rohe Zeichenfolge indem sie sie mit prefixing r: r"Hello\tWorld\nHello World".

>>> a = r"Hello\tWorld\nHello World"
>>> a # in the interpreter, this calls repr()
'Hello\\tWorld\\nHello World'
>>> print a
Hello\tWorld\nHello World

Außerdem \sist es kein Escape-Zeichen, außer in regulären Ausdrücken, und dann hat es immer noch eine ganz andere Bedeutung als das, wofür Sie es verwenden.

Robert
quelle