Подтвердить что ты не робот

Отображать специальные символы при использовании оператора печати

Я хочу отображать escape-символы при использовании оператора печати. Например.

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

Я бы хотел, чтобы он отображал:    "Hello\tWorld\nHello\SWorld"

4b9b3361

Ответ 1

Используйте repr:

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

Обратите внимание, вы не получите \s за пробел. Я надеюсь, что это была опечатка...?

Но если вы действительно хотите \s для пробелов, вы можете сделать это:

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

Ответ 2

Вы просто хотите напечатать строку таким образом или хотите, чтобы это было внутреннее представление строки? Если последний, создайте его как необработанную строку, префиксная с помощью 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

Кроме того, \s не является символом escape, за исключением регулярных выражений, и тогда он все еще имеет совсем другое значение, чем то, для чего вы его используете.

Ответ 3

Другие ответы выглядят лучше. Кроме того, я думаю, что это тоже сработает. я добавил '\' infront другого '\', чтобы избежать их.

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

print a