2011-06-25 8 views

Odpowiedz

103

Używaj repr:

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

Uwaga nie dostać \s dla przestrzeni. Mam nadzieję, że to był literówka ...?

Ale jeśli naprawdę chcesz \s do pomieszczeń, można to zrobić:

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

Czy po prostu chcesz wydrukować ciąg w ten sposób, czy chcesz, aby być wewnętrzna reprezentacja napisu ? Jeśli to drugie, utwórz go jako raw string, poprzedzając go 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 

Również \s nie jest znakiem ucieczki, z wyjątkiem wyrażeń regularnych, i to nadal ma wiele innego znaczenia niż to, co używasz go.

-5

Inne odpowiedzi wyglądają lepiej. Myślę też, że to też powinno działać. dodałem "\" do drugiego "\", aby uciec przed nimi.

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

print a 
+2

Dla mnie wygląda na to, że nic nie zmieniłeś z kodu w pytaniu. – JoriO

Powiązane problemy