Tampilkan karakter khusus saat menggunakan pernyataan cetak

89

Saya ingin menampilkan karakter escape saat menggunakan pernyataan cetak. Misalnya

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

Saya ingin menampilkan: "Hello \ tWorld \ nHello \ sWorld"

Ian Phillips
sumber

Jawaban:

163

Gunakan repr :

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

Perhatikan bahwa Anda tidak mendapatkan \stempat. Saya harap itu salah ketik ...?

Tetapi jika Anda benar-benar menginginkan \sruang, Anda dapat melakukan ini:

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

Apakah Anda hanya ingin mencetak string seperti itu, atau Anda ingin itu menjadi representasi internal string? Jika yang terakhir, membuatnya sebagai string mentah dengan awalan dengan 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

Juga, \sbukan karakter pelarian, kecuali dalam ekspresi reguler, dan kemudian masih memiliki arti yang jauh berbeda dari yang Anda gunakan untuk itu.

robert
sumber