Respostas:
Este é o código:
f = open(filename, 'w')
f.write("hello\talex")
O \t
interior da string é a sequência de escape para a tabulação horizontal.
print "a\tb"
me dá a (8 spaces)b
na cmd
na Windows
. Por que está imprimindo 8 espaços em vez do caractere de tabulação.
a (tab character)b
O manual de referência do Python inclui vários literais de string que podem ser usados em uma string. Essas seqüências especiais de caracteres são substituídas pelo significado pretendido da sequência de escape.
Aqui está uma tabela de algumas das seqüências de escape mais úteis e uma descrição da saída delas.
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)
Exemplo básico
Se eu quisesse imprimir alguns pontos de dados separados por um espaço de tabulação, eu poderia imprimir essa string.
DataString = "0\t12\t24"
print (DataString)
Devoluções
0 12 24
Exemplo para listas
Aqui está outro exemplo em que estamos imprimindo os itens da lista e queremos separar os itens por uma TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Devoluções
0 12 24
Raw Strings
Observe que cadeias brutas (uma cadeia que inclui um prefixo "r"), literais de cadeia serão ignoradas. Isso permite que essas seqüências especiais de caracteres sejam incluídas nas seqüências de caracteres sem serem alteradas.
DataString = r"0\t12\t24"
print (DataString)
Devoluções
0\t12\t24
Que talvez uma saída indesejada
Comprimento das cordas
Também deve ser observado que os literais de string têm apenas um caractere de comprimento.
DataString = "0\t12\t24"
print (len(DataString))
Devoluções
7
A cadeia bruta tem um comprimento de 9.
\t
. Como posso fazer isso?
Como não foi mencionado em nenhuma resposta, caso deseje alinhar e espaçar seu texto, você pode usar os recursos de formato de sequência. (acima do python 2.5) É claro que, \t
na verdade, é um token TAB, enquanto o método descrito gera espaços.
Exemplo:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Outro exemplo, alinhado à esquerda:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Aqui estão algumas maneiras mais exóticas do Python 3 de obter "olá" TAB "alex" (testado com o 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"
Na verdade, em vez de usar uma sequência de escape, é possível inserir o símbolo da tabulação diretamente na string literal. Aqui está o código com um caractere de tabulação para copiar e tentar:
"hello alex"
Se a guia na string acima não for perdida em nenhum lugar durante a cópia da string, "print (repr (<string from above>)" deve imprimir 'hello \ talex'.
Veja a documentação respectiva do Python para referência.