Afficher des caractères spéciaux lors de l'utilisation de l'instruction d'impression

89

Je voudrais afficher les caractères d'échappement lors de l'utilisation de l'instruction d'impression. Par exemple

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

Je voudrais qu'il affiche: "Hello \ tWorld \ nHello \ sWorld"

Ian Phillips
la source

Réponses:

163

Utilisez repr :

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

Notez que vous n'obtenez pas \sd'espace. J'espère que c'était une faute de frappe ...?

Mais si vous voulez vraiment \sdes espaces, vous pouvez le faire:

print(repr(a).replace(' ',r'\s'))
unutbu
la source
1
Python 3 est:print(repr(a))
07lodgeT
16

Souhaitez-vous simplement imprimer la chaîne de cette façon ou voulez-vous que ce soit la représentation interne de la chaîne? Dans ce dernier cas, créez comme une chaîne brute en préfixant avec 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

De plus, ce \sn'est pas un caractère d'échappement, sauf dans les expressions régulières, et il a alors une signification très différente de celle pour laquelle vous l'utilisez.

Robert
la source