Visualizza caratteri speciali quando si utilizza l'istruzione print


89

Vorrei visualizzare i caratteri di escape quando si utilizza l'istruzione print. Per esempio

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

Vorrei che fosse visualizzato: "Hello \ tWorld \ nHello \ sWorld"

Risposte:


163

Usa repr :

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

Nota che non ottieni \suno spazio. Spero sia stato un errore di battitura ...?

Ma se vuoi davvero \sdegli spazi, potresti farlo:

print(repr(a).replace(' ',r'\s'))

1
Python 3 è:print(repr(a))
07lodgeT

16

Vuoi semplicemente stampare la stringa in questo modo o vuoi che sia la rappresentazione interna della stringa? In quest'ultimo caso, creare come una stringa di grezzo dal prefisso con 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

Inoltre, \snon è un carattere di escape, tranne nelle espressioni regolari, e quindi ha ancora un significato molto diverso da quello per cui lo stai usando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.