Let's say I have a file. How do I write "hello" TAB "alex"?
-
7tab implies '\t' – Pratik Dec 20 '10 at 10:58
-
The title for this question is vague. – carloswm85 May 08 '21 at 22:30
7 Answers
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.
- 54,920
- 13
- 119
- 171
- 11,230
- 1
- 28
- 41
-
7Using `print "a\tb"` gives me `a (8 spaces)b` in the `cmd` on `Windows`. Why is it printing 8 spaces instead of the tab character. – Iulian Onofrei Mar 15 '15 at 16:47
-
-
10
-
@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 --> ? – Rick Henderson May 20 '16 at 15:29
-
5@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. – Sativa Apr 18 '18 at 10:38
-
@Sativa I'm well aware of that thanks. A more correct statement would be the tab moves the text over by a set distance. – Rick Henderson Apr 24 '18 at 14:43
-
@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 Jul 09 '20 at 18:00
-
1@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. – Foo Bar Jul 09 '20 at 18:14
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.
- 1,388
- 2
- 16
- 25
-
I need to have a space between my elements that is around half of `\t`. How can I do this? – seralouk Apr 02 '20 at 12:36
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.
- 30,030
- 21
- 100
- 124
- 11,083
- 12
- 57
- 99
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
- 21,126
- 14
- 125
- 152
-
how to give tab character to print 3 dimensional array element as 0 12 24 as 3 rows? – priya raj Dec 10 '17 at 17:46
-
Here are some more exotic Python 3 ways to get "hello" TAB "alex" (tested with 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"
Actually, instead of using an escape sequence, it is possible to insert tab symbol directly into the string literal. Here is the code with a tabulation character to copy and try:
"hello alex"
If the tab in the string above won't be lost anywhere during copying the string then "print(repr(< string from above >)" should print 'hello\talex'.
See respective Python documentation for reference.
- 607
- 5
- 11
Assume I have a variable named file that contains a file.
Then I could use file.write("hello\talex").
file.write("hellomeans I'm starting to write to this file.\tmeans a tabalex")is the rest I'm writing
- 44
- 6
-
-
@User1010 \t _does_ mean a tab. I am using [escape characters](https://www.python-ds.com/python-3-escape-sequences) – William Zeng Feb 21 '21 at 13:52
-
I am familiar with escape chars however you have written hello/t not hello\t – User1010 Feb 21 '21 at 14:26
-
@User1010 I made the accident on the `file.write("hello\talex")`. Now I fixed it. – William Zeng Feb 22 '21 at 22:54