Risposte:
Questo è il codice:
f = open(filename, 'w')
f.write("hello\talex")
L' \tinterno della stringa è la sequenza di escape per la tabulazione orizzontale.
print "a\tb"mi dà a (8 spaces)bin cmdsu Windows. Perché stampa 8 spazi invece del carattere di tabulazione.
a (tab character)b
Il manuale di riferimento di Python include diversi valori letterali di stringa che possono essere utilizzati in una stringa. Queste sequenze speciali di caratteri vengono sostituite dal significato previsto della sequenza di escape.
Ecco una tabella di alcune delle sequenze di escape più utili e una descrizione dell'output da esse.
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)
Esempio di base
Se volessi stampare alcuni punti dati separati da uno spazio di tabulazione, potrei stampare questa stringa.
DataString = "0\t12\t24"
print (DataString)
ritorna
0 12 24
Esempio per elenchi
Ecco un altro esempio in cui stiamo stampando gli elementi della lista e vogliamo separare gli elementi da un TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
ritorna
0 12 24
Corde grezze
Notare che le stringhe non elaborate (una stringa che include un prefisso "r"), le stringhe letterali verranno ignorate. Ciò consente a queste sequenze speciali di caratteri di essere incluse nelle stringhe senza essere modificate.
DataString = r"0\t12\t24"
print (DataString)
ritorna
0\t12\t24
Che forse è un'uscita indesiderata
Lunghezze delle stringhe
Va inoltre notato che i letterali stringa sono lunghi solo un carattere.
DataString = "0\t12\t24"
print (len(DataString))
ritorna
7
La stringa grezza ha una lunghezza di 9.
\t. Come posso fare questo?
Poiché non è stato menzionato in nessuna risposta, nel caso in cui desideri allineare e spaziare il testo, puoi utilizzare le funzionalità del formato stringa. (sopra python 2.5) Ovviamente \tè in realtà un token TAB mentre il metodo descritto genera spazi.
Esempio:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Un altro esempio, allineato a sinistra:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Ecco alcuni modi più esotici di Python 3 per ottenere "ciao" TAB "alex" (testato con 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"
In realtà, invece di utilizzare una sequenza di escape, è possibile inserire il simbolo di tabulazione direttamente nella stringa letterale. Ecco il codice con un carattere di tabulazione da copiare e provare:
"hello alex"
Se la tabulazione nella stringa sopra non andrà persa durante la copia della stringa allora "print (repr (<string from above>)" dovrebbe stampare 'ciao \ talex'.
Vedere la rispettiva documentazione di Python per riferimento.