2010-12-20 17 views

Odpowiedz

94

ten kod:

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

\ T wewnątrz łańcucha jest sekwencja ucieczki dla poziomego tabelarycznego.

+2

Korzystanie 'print "A \ tb"' daje mi 'a (8 spacji) b' w 'cmd' na' Windows'. Dlaczego drukuje 8 spacji zamiast znaku tabulacji. –

+0

Czego jeszcze się spodziewałeś? – Simone

+5

Aby wyświetlić 'a \t (znak tabulatora) b' –

14

Można użyć \ tw ciąg dosłownym:

"hello\talex"

10

Zazwyczaj \t interfejsy wiersza poleceń, które przekonwertuje char \t do spacją tab. Na przykład hello\talex ->hello\talex ->hello--->alex.

5

Python reference manual zawiera kilka ciągów literowych, które można wykorzystać w łańcuchu. Te specjalne sekwencje znaków są zastępowane zamierzonym znaczeniem sekwencji escape.

Poniżej znajduje się tabela niektórych bardziej użytecznych sekwencji ucieczki i opis ich wyników.

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) 

Podstawowe Przykład

jeśli chciałem wydrukować kilka punktów danych oddzielone spacją zakładce mogę wydrukować ten ciąg.

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

Zwraca

0 12 24 

Przykład list

Oto kolejny przykład, gdzie są drukowane elementy listy i chcemy sperate przedmiotów przez JOT.

DataPoints = [0,12,24] 
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2])) 

Zwraca

0 12 24 

Surowce Struny

Zauważ, że surowe ciągi (ciąg które zawierają przedrostek "R"), literały ciągów znaków będą ignorowane. Dzięki temu te specjalne ciągi znaków mogą być zawarte w ciągach bez zmiany.

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

Zwraca

0\t12\t24 

Który może niepożądany wyjście

String Długości

Należy również zauważyć, że literały ciągów są tylko jeden znak długości.

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

Zwraca

7 

Surowa łańcuch ma długość 9.

1

Ponieważ nie została wymieniona w żadnej odpowiedzi, tylko w przypadku, gdy chcesz, aby wyrównać i przestrzeni tekstu, możesz użyć funkcji formatu smyczkowego. (powyżej Pythona 2.5) Oczywiście \t jest tak naprawdę tokenem TAB, podczas gdy opisana metoda generuje spacje.

Przykład:

print "{0:30} {1}".format("hi", "yes") 
> hi        yes 

inny przykład, wyrównane do lewej:

print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4)) 
>1.0  2.2  4.4 
+0

jak podać znak tabulatora, aby wydrukować 3-wymiarowy element tablicy jako 0 12 24 jako 3 wiersze? –

+0

Dodano do odpowiedzi – user1767754