Как написать "вкладку" в Python?

Скажем, у меня есть файл. Как написать "привет" TAB "alex"?

Ответ 1

Это код:

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

\t внутри строки является escape-последовательностью для горизонтальной табуляции.

Ответ 2

Вы можете использовать \t в строковом литерале:

"hello\talex"

Ответ 3

Справочное руководство по Python включает несколько строковых литералов, которые можно использовать в строке. Эти специальные последовательности символов заменяются предполагаемым значением escape-последовательности.

Вот таблица некоторых из наиболее полезных escape-последовательностей и описание их вывода.

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.

Ответ 4

Обычно это \t в интерфейсах командной строки, которые преобразуют char \t в символ табуляции в виде пробелов.

Например, hello\talexhello--->alex.

Ответ 5

Как он не упоминался ни в каких ответах, на всякий случай, если вы хотите выровнять и разместить текст, вы можете использовать функции строкового формата. (выше 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