web-dev-qa-db-fra.com

Comment écrire un "onglet" en Python?

Disons que j'ai un fichier. Comment puis-je écrire "bonjour" TAB "alex"?

96
TIMEX

C'est le code:

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

Le \t à l'intérieur de la chaîne est la séquence d'échappement pour la tabulation horizontale.

126
Simone

Vous pouvez utiliser\t dans un littéral de chaîne:

"hello\talex"

23
Knio

Le Python manuel de référence inclut plusieurs littéraux de chaîne pouvant être utilisés dans une chaîne. Ces séquences spéciales de caractères sont remplacées par le sens voulu 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)

Résultats

0    12    24

Exemple pour les listes

Voici un autre exemple où nous imprimons les éléments de la liste et nous souhaitons les diviser par une tabulation.

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

Résultats

0    12    24

Chaînes brutes

Notez que les chaînes brutes (une chaîne qui inclut un préfixe "r"), les littéraux de chaîne seront ignorés. Cela permet d'inclure ces séquences spéciales de caractères dans les chaînes sans les modifier.

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

Résultats

0\t12\t24

Quel 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))

Résultats

7

La chaîne brute a une longueur de 9.

18
CodeCupboard

Il s'agit généralement de \t dans les interfaces de ligne de commande, ce qui convertira le caractère \t en caractère de tabulation.

Par exemple, hello\talex -> hello--->alex.

14
Darbio

Comme cela n’a été mentionné dans aucune réponse, vous pouvez utiliser les fonctions de format de chaîne au cas où vous voudriez aligner et espacer votre texte. (ci-dessus python2.5] Bien sûr, \t est en réalité 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

n autre exemple, aligné à gauche:

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