Je veux la nouvelle ligne \n
pour apparaître explicitement lors de l’impression d’une chaîne extraite ailleurs. Donc, si la chaîne est 'abc\ndef', je ne veux pas que cela se produise:
>>> print(line)
abc
def
mais au lieu de cela:
>>> print(line)
abc\ndef
Existe-t-il un moyen de modifier print, ou de modifier l'argument, ou peut-être une autre fonction entièrement, pour accomplir cela?
Une autre façon d’arrêter python en utilisant des caractères d’échappement est d’utiliser une chaîne brute comme celle-ci:
>>> print(r"abc\ndef")
abc\ndef
ou
>>> string = "abc\ndef"
>>> print (repr(string))
>>> 'abc\ndef'
le seul moyen d'utiliser repr()
est qu'il met votre chaîne entre guillemets simples, ce qui peut s'avérer utile si vous souhaitez utiliser une citation.
Il suffit de l'encoder avec le 'string_escape'
codec.
>>> print "foo\nbar".encode('string_escape')
foo\nbar
En python3, 'string_escape'
est devenu unicode_escape
. De plus, nous devons être un peu plus prudents sur les octets/unicode afin que cela implique un décodage après le codage:
>>> print("foo\nbar".encode("unicode_escape").decode("utf-8"))
Méthode la plus simple: str_object.replace("\n", "\\n")
Les autres méthodes sont meilleures si vous voulez afficher tous caractères d'échappement, mais si vous vous souciez uniquement des nouvelles lignes, utilisez simplement un remplacement direct.