Відображати спеціальні символи під час використання оператора друку


89

Я хотів би відображати символи переходу під час використання оператора print. Напр

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

Я хотів би, щоб він відображав: "Привіт \ tWorld \ nПривіт \ sWorld"

Відповіді:


162

Використовувати репр :

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

Зауважте, ви не отримуєте \sмісця. Сподіваюсь, це була друкарська помилка ...?

Але якщо ви дійсно хочете \sпростору, ви можете зробити це:

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

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

16

Ви просто хочете надрукувати рядок таким чином, або ви хочете, щоб це було внутрішнє подання рядка? Якщо останнє, створіть його в якості необробленої рядки з префіксом 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не є символом втечі, за винятком регулярних виразів, і тоді він все ще має набагато інше значення, ніж те, для чого ви його використовуєте.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.