Jawaban:
Ini kodenya:
f = open(filename, 'w')
f.write("hello\talex")
Bagian \t
dalam string adalah escape sequence untuk tabulasi horizontal.
print "a\tb"
memberi saya a (8 spaces)b
di cmd
atas Windows
. Mengapa mencetak 8 spasi, bukan karakter tab.
a (tab character)b
Manual referensi Python mencakup beberapa literal string yang dapat digunakan dalam sebuah string. Urutan karakter khusus ini diganti dengan makna yang diinginkan dari urutan escape.
Berikut adalah tabel dari beberapa escape sequence yang lebih berguna dan deskripsi keluaran darinya.
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)
Contoh Dasar
Jika saya ingin mencetak beberapa titik data yang dipisahkan oleh ruang tab, saya dapat mencetak string ini.
DataString = "0\t12\t24"
print (DataString)
Kembali
0 12 24
Contoh untuk Daftar
Berikut adalah contoh lain di mana kami mencetak item dari daftar dan kami ingin memisahkan item dengan TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Kembali
0 12 24
String Mentah
Perhatikan bahwa string mentah (string yang menyertakan awalan "r"), literal string akan diabaikan. Ini memungkinkan rangkaian karakter khusus ini untuk dimasukkan ke dalam string tanpa diubah.
DataString = r"0\t12\t24"
print (DataString)
Kembali
0\t12\t24
Yang mungkin merupakan hasil yang tidak diinginkan
Panjang String
Perlu juga dicatat bahwa string literal hanya memiliki satu karakter.
DataString = "0\t12\t24"
print (len(DataString))
Kembali
7
String mentah memiliki panjang 9.
\t
. Bagaimana saya bisa melakukan ini?
Karena tidak disebutkan dalam jawaban apa pun, jika Anda ingin meratakan dan memberi spasi pada teks Anda, Anda dapat menggunakan fitur format string. (di atas python 2.5) Tentu saja \t
sebenarnya token TAB sedangkan metode yang dijelaskan menghasilkan spasi.
Contoh:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Contoh lain, rata kiri:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Berikut adalah beberapa cara Python 3 yang lebih eksotis untuk mendapatkan "hello" TAB "alex" (diuji dengan 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"
Sebenarnya, alih-alih menggunakan escape sequence, dimungkinkan untuk menyisipkan simbol tab langsung ke dalam string literal. Berikut adalah kode dengan karakter tabulasi untuk disalin dan dicoba:
"hello alex"
Jika tab dalam string di atas tidak akan hilang di mana pun selama menyalin string maka "print (repr (<string from above>)" harus mencetak 'hello \ talex'.
Lihat dokumentasi Python masing-masing untuk referensi.