Respuestas:
Este es el código:
f = open(filename, 'w')
f.write("hello\talex")
El \t
interior de la cadena es la secuencia de escape para la tabulación horizontal.
print "a\tb"
me da a (8 spaces)b
en el cmd
encendido Windows
. ¿Por qué imprime 8 espacios en lugar del carácter de tabulación?
a (tab character)b
El manual de referencia de Python incluye varios literales de cadena que se pueden usar en una cadena. Estas secuencias especiales de caracteres se reemplazan por el significado previsto de la secuencia de escape.
Aquí hay una tabla de algunas de las secuencias de escape más útiles y una descripción de la salida de ellas.
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)
Ejemplo básico
Si quisiera imprimir algunos puntos de datos separados por un espacio de tabulación, podría imprimir esta cadena.
DataString = "0\t12\t24"
print (DataString)
Devoluciones
0 12 24
Ejemplo de listas
Aquí hay otro ejemplo en el que estamos imprimiendo los elementos de la lista y queremos especificar los elementos mediante una TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Devoluciones
0 12 24
Cuerdas crudas
Tenga en cuenta que las cadenas sin formato (una cadena que incluye un prefijo "r"), los literales de cadena se ignorarán. Esto permite que estas secuencias especiales de caracteres se incluyan en cadenas sin cambiarlas.
DataString = r"0\t12\t24"
print (DataString)
Devoluciones
0\t12\t24
Que tal vez una salida no deseada
Longitudes de cuerda
También debe tenerse en cuenta que los literales de cadena tienen solo un carácter de longitud.
DataString = "0\t12\t24"
print (len(DataString))
Devoluciones
7
La cadena sin procesar tiene una longitud de 9.
\t
. ¿Cómo puedo hacer esto?
Como no se mencionó en ninguna respuesta, en caso de que desee alinear y espaciar su texto, puede usar las funciones de formato de cadena. (por encima de python 2.5) Por supuesto, en \t
realidad es un token TAB, mientras que el método descrito genera espacios.
Ejemplo:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Otro ejemplo, alineado a la izquierda:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Aquí hay algunas formas más exóticas de Python 3 para obtener "hola" TAB "alex" (probado 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"
En realidad, en lugar de usar una secuencia de escape, es posible insertar el símbolo de tabulación directamente en el literal de cadena. Aquí está el código con un carácter de tabulación para copiar y probar:
"hello alex"
Si la pestaña de la cadena de arriba no se perderá en ningún lugar durante la copia de la cadena, entonces "print (repr (<cadena de arriba>)" debería imprimir 'hola \ talex'.
Consulte la documentación respectiva de Python como referencia.