Hiển thị các ký tự đặc biệt khi sử dụng câu lệnh in


89

Tôi muốn hiển thị các ký tự thoát khi sử dụng câu lệnh in. Ví dụ

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

Tôi muốn nó hiển thị: "Xin chào \ tWorld \ nHello \ sWorld"

Câu trả lời:


162

Sử dụng repr :

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

Lưu ý rằng bạn không nhận được \scho một không gian. Tôi hy vọng đó là lỗi đánh máy ...?

Nhưng nếu bạn thực sự muốn có \skhoảng trắng, bạn có thể làm điều này:

print(repr(a).replace(' ',r'\s'))

1
Python 3 là:print(repr(a))
07lodgeT

16

Bạn chỉ muốn in chuỗi theo cách đó hay bạn muốn đó là đại diện bên trong của chuỗi? Nếu sau này, tạo ra nó như là một chuỗi nguyên bằng cách đặt trước nó với 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

Ngoài ra, \skhông phải là một ký tự thoát, ngoại trừ trong biểu thức chính quy, và sau đó nó vẫn có ý nghĩa khác nhiều so với những gì bạn đang sử dụng nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.