How do I write a "tab" in Python?
Solution 1
This is the code:
f = open(filename, 'w')
f.write("hello\talex")
The \t
inside the string is the escape sequence for the horizontal tabulation.
Solution 2
The Python reference manual includes several string literals that can be used in a string. These special sequences of characters are replaced by the intended meaning of the escape sequence.
Here is a table of some of the more useful escape sequences and a description of the output from them.
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)
Basic Example
If i wanted to print some data points separated by a tab space I could print this string.
DataString = "0\t12\t24"
print (DataString)
Returns
0 12 24
Example for Lists
Here is another example where we are printing the items of list and we want to sperate the items by a TAB.
DataPoints = [0,12,24]
print (str(DataPoints[0]) + "\t" + str(DataPoints[1]) + "\t" + str(DataPoints[2]))
Returns
0 12 24
Raw Strings
Note that raw strings (a string which include a prefix "r"), string literals will be ignored. This allows these special sequences of characters to be included in strings without being changed.
DataString = r"0\t12\t24"
print (DataString)
Returns
0\t12\t24
Which maybe an undesired output
String Lengths
It should also be noted that string literals are only one character in length.
DataString = "0\t12\t24"
print (len(DataString))
Returns
7
The raw string has a length of 9.
Solution 3
You can use \t in a string literal:
"hello\talex"
Solution 4
It's usually \t
in command-line interfaces, which will convert the char \t
into the whitespace tab character.
For example, hello\talex
-> hello--->alex
.
Solution 5
As it wasn't mentioned in any answers, just in case you want to align and space your text, you can use the string format features. (above python 2.5) Of course \t
is actually a TAB token whereas the described method generates spaces.
Example:
print "{0:30} {1}".format("hi", "yes")
> hi yes
Another Example, left aligned:
print("{0:<10} {1:<10} {2:<10}".format(1.0, 2.2, 4.4))
>1.0 2.2 4.4
Related videos on Youtube
TIMEX
Updated on February 23, 2021Comments
-
TIMEX over 2 years
Let's say I have a file. How do I write "hello" TAB "alex"?
-
Pratik almost 13 yearstab implies '\t'
-
carloswm85 over 2 yearsThe title for this question is vague.
-
-
Iulian Onofrei over 8 yearsUsing
print "a\tb"
gives mea (8 spaces)b
in thecmd
onWindows
. Why is it printing 8 spaces instead of the tab character. -
Simone over 8 yearsWhat else were you expecting?
-
Iulian Onofrei over 8 yearsTo display
a (tab character)b
-
Rick Henderson over 7 years@IulianOnofrei A tab character is a non-printing character, also known as whitespace. You don't see anything when press the Tab key. It just moves the text over by a default number of spaces. Maybe you can draw in characters what you want to appear. Is it --> ?
-
priya raj almost 6 yearshow to give tab character to print 3 dimensional array element as 0 12 24 as 3 rows?
-
user1767754 almost 6 yearsAdded to the answer
-
Sativa over 5 years@RickHenderson That's not true, a tab character is not just a number of spaces. Maybe your Editor is configured to insert spaces on pressing tab. " " is a tab " " is a space. You may not see the difference here, but open up Word/Libre and you will see the difference.
-
Rick Henderson over 5 years@Sativa I'm well aware of that thanks. A more correct statement would be the tab moves the text over by a set distance.
-
seralouk over 3 yearsI need to have a space between my elements that is around half of
\t
. How can I do this? -
Foo Bar over 3 years@RickHenderson that isn't true either. A tab should put the next character at the next tab stop, whose distance is variable based on the tab spacing and how long the preceding string is.
-
Foo Bar over 3 years@IulianOnofrei that might be an implementation issue in cmd itself. Monospace consoles may handle text display differently than a text editor would, and auto-convert tabs into spaces on screen.
-
User1010 almost 3 yearsShould this not be \t as you mention in step 2?
-
William Zeng over 2 years@User1010 \t does mean a tab. I am using escape characters
-
User1010 over 2 yearsI am familiar with escape chars however you have written hello/t not hello\t
-
William Zeng over 2 years@User1010 I made the accident on the
file.write("hello\talex")
. Now I fixed it.