vocali - In Python, è possibile sfuggire ai caratteri di nuova riga quando si stampa una stringa?




stringa inizia con python (2)

Voglio che la nuova riga \n venga mostrata esplicitamente quando si stampa una stringa recuperata da un'altra posizione. Quindi se la stringa è 'abc \ ndef', non voglio che ciò accada:

>>> print(line)
abc
def

ma invece questo:

>>> print(line)
abc\ndef

C'è un modo per modificare la stampa, o modificare l'argomento, o forse un'altra funzione interamente, per realizzare questo?


Basta codificarlo con il codec 'string_escape' .

>>> print "foo\nbar".encode('string_escape')
foo\nbar

In python3, 'string_escape' è diventato unicode_escape . Inoltre, dobbiamo fare un po 'più attenzione su byte / unicode, quindi implica una decodifica dopo la codifica:

>>> print("foo\nbar".encode("unicode_escape").decode("utf-8"))

riferimento unicode_escape


Metodo più semplice: str_object.replace("\n", "\\n")

Gli altri metodi sono migliori se vuoi mostrare tutti i caratteri di escape, ma se tutto quello che ti interessa sono i newline, basta usare una sostituzione diretta.







newline