[python] print 문을 사용할 때 특수 문자 표시

print 문을 사용할 때 이스케이프 문자를 표시하고 싶습니다. 예

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

“Hello \ tWorld \ nHello \ sWorld”를 표시하고 싶습니다.



답변

repr 사용 :

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

\s공간을 얻지 못합니다 . 오타 였으면 좋겠는데 …?

그러나 정말로 \s공백을 원한다면 다음 과 같이 할 수 있습니다.

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


답변

그저 그런 식으로 문자열을 인쇄하고 싶습니까, 아니면 문자열의 내부 표현이되기를 원합니까? 후자의 경우 : 접두사를 붙여 원시 문자열 로 만듭니다 .rr"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정규식을 제외하고는 이스케이프 문자가 아니며 여전히 사용하는 것과는 훨씬 다른 의미를 갖습니다.


답변