Hoe schrijf ik een “tabblad” in Python?

Stel dat ik een bestand heb. Hoe schrijf ik “hallo” TAB “alex”?


Antwoord 1, autoriteit 100%

Dit is de code:

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

De \tin de tekenreeks is de escape-reeks voor de horizontale tabel.


Antwoord 2, autoriteit 21%

De Python referentiehandleidingbevat verschillende letterlijke tekenreeksen die kunnen worden gebruikt in een snaar. Deze speciale reeksen tekens worden vervangen door de bedoelde betekenis van de ontsnappingsreeks.

Hier is een tabel met enkele van de meer bruikbare escape-reeksen en een beschrijving van de uitvoer ervan.

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)

Basisvoorbeeld

Als ik enkele gegevenspunten wilde afdrukken, gescheiden door een tabruimte, zou ik deze string kunnen afdrukken.

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

Retourneren

0    12    24

Voorbeeld voor lijsten

Hier is nog een voorbeeld waarbij we de items van de lijst afdrukken en we willen de items scheiden met een TAB.

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

Retourneren

0    12    24

rauwe strings

Merk op dat rauwe strings (een tekenreeks met een prefix “R”), string-literals worden genegeerd. Hierdoor kunnen deze speciale sequenties van tekens worden opgenomen in de snaren zonder te worden gewijzigd.

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

Retourneren

0\t12\t24

Welke misschien een ongewenste uitvoer

Stringlengts

Er moet ook worden opgemerkt dat stringlettertekeningen slechts één teken in lengte zijn.

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

Retourneren

7

De onbewerkte reeks heeft een lengte van 9.


Antwoord 3, Autoriteit 14%

U kunt \ t gebruiken in een string-letterlijke:

"hello\talex"


Antwoord 4, Autoriteit 8%

Het is meestal \tin opdrachtregelinterfaces, die de Char \tconverteren naar het tabblad Whitespace.

Bijvoorbeeld, hello\talex– & GT; hello--->alex.


Antwoord 5, Autoriteit 7%

Zoals het niet werd vermeld in antwoorden, voor het geval u uw tekst wilt uitlijnen en ruimt, kunt u de functies van de string-indeling gebruiken. (Boven Python 2.5) is natuurlijk \teigenlijk een tab-token, terwijl de beschreven methode spaties genereert.

Voorbeeld:

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

Nog een voorbeeld, links uitgelijnd:

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

Antwoord 6, autoriteit 2%

Hier zijn wat meer exotische Python 3 manieren om “hallo” TAB “alex” te krijgen (getest met 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 plaats van een escape-reeks te gebruiken, is het eigenlijk mogelijk om het tab-symbool rechtstreeks in de letterlijke tekenreeks in te voegen. Hier is de code met een tabelteken om te kopiëren en te proberen:

"hello alex"

Als het tabblad in de bovenstaande tekenreeks nergens verloren gaat tijdens het kopiëren van de tekenreeks, moet “print(repr(< string van bovenaf >)” ‘hello\talex’ afdrukken.

Zie respectieve Python-documentatieter referentie.


Antwoord 7

Stel dat ik een variabele heb met de naam filedie een bestand bevat.
Dan zou ik file.write("hello\talex")kunnen gebruiken.

  1. file.write("hellobetekent dat ik naar dit bestand begin te schrijven.
  2. \tbetekent een tabblad
  3. alex")is de rest die ik schrijf

Other episodes