Как мне написать «вкладку» в Python? - PullRequest
95 голосов
/ 20 декабря 2010

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

Ответы [ 5 ]

123 голосов
/ 20 декабря 2010

Это код:

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

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

23 голосов
/ 20 декабря 2010

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

"hello\talex"

17 голосов
/ 13 апреля 2017

Справочное руководство по 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

Пример для списков

Вот еще один пример, где мы печатаем элементы списка, и мы хотим отделить элементы табуляцией.

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

Что может быть нежелательным выводом

StringДлины

Следует также отметить, что строковые литералы имеют длину только один символ.

DataString = "0\t12\t24"
print (len(DataString))

Возвращает

7

Необработанная строка имеет длинуиз 9.

14 голосов
/ 20 декабря 2010

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

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

6 голосов
/ 18 ноября 2017

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