Відповіді:
Це код:
f = open(filename, 'w')
f.write("hello\talex")
\t
Усередині рядка є послідовність символів для горизонтальної табуляції.
print "a\tb"
дає мені a (8 spaces)b
в положення cmd
ON Windows
. Чому він друкує 8 пробілів замість символу вкладки.
a (tab character)b
Довідковий посібник Python включає кілька рядкових літералів, які можна використовувати в рядку. Ці спеціальні послідовності символів замінюються передбачуваним значенням послідовності втечі.
Ось таблиця деяких більш корисних послідовностей втечі та опис результатів з них.
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)
Основний приклад
Якщо я хотів надрукувати деякі точки даних, розділені пробілом на вкладках, я міг би надрукувати цей рядок.
DataString = "0\t12\t24"
print (DataString)
Повертається
0 12 24
Приклад для списків
Ось ще один приклад, коли ми друкуємо елементи списку і хочемо виділити їх по TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Повертається
0 12 24
Сирі струни
Зауважте, що необроблені рядки (рядок, що містить префікс "r"), літеральні рядки будуть ігноровані. Це дозволяє включати ці спеціальні послідовності символів до рядків без зміни.
DataString = r"0\t12\t24"
print (DataString)
Повертається
0\t12\t24
Що може бути небажаним результатом
Довжина струн
Слід також зазначити, що літеральні рядки мають довжину лише одного символу.
DataString = "0\t12\t24"
print (len(DataString))
Повертається
7
Сира струна має довжину 9.
\t
. Як я можу це зробити?
Як це не було зазначено в жодних відповідях, про всяк випадок, якщо ви хочете вирівняти текст і пробілити текст, ви можете використовувати функції формату рядка. (вище python 2.5) Звичайно \t
, це маркер TAB, тоді як описаний метод генерує пробіли.
Приклад:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Інший приклад, вирівняний зліва:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Ось ще кілька екзотичних Python 3 способів отримати "привіт" TAB "alex" (тестований на 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"
Насправді, замість використання послідовності втечі, символ вкладки можна вставити прямо в літеральний рядок. Ось код з символом табуляції, який потрібно скопіювати та спробувати:
"hello alex"
Якщо вкладка в рядку вище нікуди не загубиться під час копіювання рядка, тоді "print (repr (<рядок зверху>)" має надрукувати "hello \ talex".
Див. Відповідну документацію Python для ознайомлення.