Câu trả lời:
Đây là mã:
f = open(filename, 'w')
f.write("hello\talex")
Chuỗi \t
bên trong là chuỗi thoát cho bảng tổng hợp ngang.
print "a\tb"
mang lại cho tôi a (8 spaces)b
trong cmd
ngày Windows
. Tại sao nó in 8 dấu cách thay vì ký tự tab.
a (tab character)b
Hướng dẫn tham khảo Python bao gồm một số chuỗi ký tự có thể được sử dụng trong một chuỗi. Các chuỗi ký tự đặc biệt này được thay thế bằng ý nghĩa dự định của chuỗi thoát.
Dưới đây là bảng một số trình tự thoát hữu ích hơn và mô tả về đầu ra từ chúng.
Escape Sequence Meaning
\t Tab
\\ Inserts a back slash (\)
\' Inserts a single quote (')
\" Inserts a double quote (")
\n Inserts a ASCII Linefeed (a new line)
Ví dụ cơ bản
Nếu tôi muốn in một số điểm dữ liệu cách nhau bởi một không gian tab, tôi có thể in chuỗi này.
DataString = "0\t12\t24"
print (DataString)
Trả về
0 12 24
Ví dụ cho danh sách
Dưới đây là một ví dụ khác, nơi chúng tôi đang in các mục trong danh sách và chúng tôi muốn kiểm duyệt các mục bằng TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Trả về
0 12 24
Chuỗi thô
Lưu ý rằng các chuỗi thô (một chuỗi bao gồm tiền tố "r"), chuỗi ký tự sẽ bị bỏ qua. Điều này cho phép các chuỗi ký tự đặc biệt này được bao gồm trong chuỗi mà không bị thay đổi.
DataString = r"0\t12\t24"
print (DataString)
Trả về
0\t12\t24
Mà có thể là một đầu ra không mong muốn
Độ dài chuỗi
Cũng cần lưu ý rằng chuỗi ký tự chuỗi chỉ có một ký tự.
DataString = "0\t12\t24"
print (len(DataString))
Trả về
7
Chuỗi thô có độ dài 9.
\t
. Tôi có thể làm cái này như thế nào?
Vì nó không được đề cập trong bất kỳ câu trả lời nào, chỉ trong trường hợp bạn muốn căn chỉnh và không gian văn bản của mình, bạn có thể sử dụng các tính năng định dạng chuỗi. (trên python 2.5) Tất nhiên \t
thực sự là mã thông báo TAB trong khi phương thức được mô tả tạo khoảng trắng.
Thí dụ:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Một ví dụ khác, căn trái:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Dưới đây là một số cách kỳ lạ hơn của Python 3 để có được "xin chào" TAB "alex" (đã thử nghiệm với Python 3.6.10):
"hello\N{TAB}alex"
"hello\N{tab}alex"
"hello\N{TaB}alex"
"hello\N{HT}alex"
"hello\N{CHARACTER TABULATION}alex"
"hello\N{HORIZONTAL TABULATION}alex"
"hello\x09alex"
"hello\u0009alex"
"hello\U00000009alex"
Trên thực tế, thay vì sử dụng một chuỗi thoát, có thể chèn biểu tượng tab trực tiếp vào chuỗi ký tự. Đây là đoạn mã có ký tự lập bảng để sao chép và thử:
"hello alex"
Nếu tab trong chuỗi ở trên sẽ không bị mất ở bất kỳ đâu trong khi sao chép chuỗi thì "print (repr (<chuỗi từ phía trên>)" nên in 'hello \ Talex'.
Xem tài liệu Python tương ứng để tham khảo.