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"

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'))

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.