Làm cách nào để tôi viết một thẻ tab MySpace trong Python?


127

Hãy nói rằng tôi có một tập tin. Làm thế nào để tôi viết "xin chào" TAB "alex"?


6
tab ngụ ý '\ t'
Pratik

Câu trả lời:


154

Đây là mã:

f = open(filename, 'w')
f.write("hello\talex")

Chuỗi \tbên trong là chuỗi thoát cho bảng tổng hợp ngang.


5
Sử dụng print "a\tb"mang lại cho tôi a (8 spaces)btrong cmdngày Windows. Tại sao nó in 8 dấu cách thay vì ký tự tab.
Iulian Onofrei 15/03/2015

Bạn còn mong đợi gì nữa?
Simone

8
Để hiển thịa (tab character)b
Iulian Onofrei

@IulianOnofrei Một ký tự tab là một ký tự không in, còn được gọi là khoảng trắng. Bạn không thấy gì khi nhấn phím Tab. Nó chỉ di chuyển văn bản qua một số khoảng trắng mặc định. Có lẽ bạn có thể vẽ nhân vật những gì bạn muốn xuất hiện. Có phải ->?
Rick Henderson

4
@RickHenderson Điều đó không đúng, một ký tự tab không chỉ là một số khoảng trắng. Có thể Trình chỉnh sửa của bạn được định cấu hình để chèn khoảng trắng trên tab nhấn. "" là một tab "" là một khoảng trắng. Bạn có thể không thấy sự khác biệt ở đây, nhưng hãy mở Word / Libre và bạn sẽ thấy sự khác biệt.
Sativa

27

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ôi cần phải có một khoảng trống giữa các yếu tố của tôi là khoảng một nửa \t. Tôi có thể làm cái này như thế nào?
seralouk

25

Bạn có thể sử dụng \ t trong một chuỗi bằng chữ:

"hello\talex"


14

Nó thường \ttrong các giao diện dòng lệnh, sẽ chuyển đổi char \tthành ký tự tab khoảng trắng.

Ví dụ: hello\talex-> hello--->alex.


9

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 \tthự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 

Làm cách nào để đưa ký tự tab để in phần tử mảng 3 chiều là 0 12 24 dưới dạng 3 hàng?
Priya raj

Đã thêm vào câu trả lời
user1767754 10/12/17

0

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.

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.