\n
他の場所から取得した文字列を印刷するときに改行を明示的に表示したい。したがって、文字列が「abc\ndef」の場合、これは発生したくありません。
>>> print(line)
abc
def
しかし、代わりにこれ:
>>> print(line)
abc\ndef
これを達成するために、印刷を変更したり、引数を変更したり、別の関数を完全に変更したりする方法はありますか?
'string_escape'
コーデックでエンコードするだけです。
>>> print "foo\nbar".encode('string_escape')
foo\nbar
python3では、'string_escape'
になりunicode_escape
ました。さらに、バイト/ユニコードについてもう少し注意する必要があるため、エンコード後にデコードが必要になります。
>>> print("foo\nbar".encode("unicode_escape").decode("utf-8"))
エスケープ文字を使用してPythonを停止できる別の方法は、次のような生の文字列を使用することです。
>>> print(r"abc\ndef")
abc\ndef
また
>>> string = "abc\ndef"
>>> print (repr(string))
>>> 'abc\ndef'
使用の唯一の問題repr()
は、文字列を一重引用符で囲むことです。引用符を使用する場合に便利です。
最も簡単な方法:
str_object.replace("\n", "\\n")
すべてのエスケープ文字を表示したい場合は、他の方法の方が適していますが、気にするのが改行だけの場合は、直接置換を使用してください。