Réponses:
Voici le code:
f = open(filename, 'w')
f.write("hello\talex")
L' \t
intérieur de la chaîne est la séquence d'échappement pour la tabulation horizontale.
print "a\tb"
me donne a (8 spaces)b
dans le cmd
sur Windows
. Pourquoi imprime-t-il 8 espaces au lieu du caractère de tabulation.
a (tab character)b
Le manuel de référence Python comprend plusieurs littéraux de chaîne qui peuvent être utilisés dans une chaîne. Ces séquences spéciales de caractères sont remplacées par la signification voulue de la séquence d'échappement.
Voici un tableau de certaines des séquences d'échappement les plus utiles et une description de leur sortie.
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)
Exemple de base
Si je voulais imprimer des points de données séparés par un espace de tabulation, je pourrais imprimer cette chaîne.
DataString = "0\t12\t24"
print (DataString)
Retour
0 12 24
Exemple de listes
Voici un autre exemple où nous imprimons les éléments de la liste et nous voulons séparer les éléments par une tabulation.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Retour
0 12 24
Chaînes brutes
Notez que les chaînes brutes (une chaîne qui inclut un préfixe "r"), les chaînes littérales seront ignorées. Cela permet à ces séquences spéciales de caractères d'être incluses dans des chaînes sans être modifiées.
DataString = r"0\t12\t24"
print (DataString)
Retour
0\t12\t24
Ce qui peut être une sortie indésirable
Longueurs de chaîne
Il convient également de noter que les littéraux de chaîne ne comportent qu'un seul caractère.
DataString = "0\t12\t24"
print (len(DataString))
Retour
7
La chaîne brute a une longueur de 9.
\t
. Comment puis-je faire ceci?
Comme cela n'a été mentionné dans aucune réponse, juste au cas où vous voudriez aligner et espacer votre texte, vous pouvez utiliser les fonctionnalités de format de chaîne. (ci-dessus python 2.5) Il \t
s'agit bien sûr d' un jeton TAB alors que la méthode décrite génère des espaces.
Exemple:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Un autre exemple, aligné à gauche:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Voici quelques moyens plus exotiques de Python 3 pour obtenir "hello" TAB "alex" (testé avec 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 fait, au lieu d'utiliser une séquence d'échappement, il est possible d'insérer un symbole de tabulation directement dans la chaîne littérale. Voici le code avec un caractère de tabulation à copier et à essayer:
"hello alex"
Si l'onglet dans la chaîne ci-dessus ne sera perdu nulle part pendant la copie de la chaîne, alors "print (repr (<string from above>)" devrait afficher 'hello \ talex'.
Voir la documentation Python respective pour référence.