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"

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'))

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.