Reputation: 24764
the ,
in print added a white space
>>> print "a","b"
a b
If I need a \t
, I put
>>> print "a","\t","b"
a b
How I can change the output of ,
to a \t
?
Upvotes: 3
Views: 111188
Reputation: 613
https://docs.python.org/2/reference/simple_stmts.html#print
like this print "Hello", "workd!",
Upvotes: 0
Reputation: 1121644
Use str.join()
instead:
print '\t'.join(('a', 'b'))
The python print
statement will convert any element in the expression to string and join them using a space; if you want to use a different delimiter you'll have to do the joining manually.
Alternatively, use the print()
function, which has been introduced to ease transition to Python 3:
from __future__ import print_function
print('a','b',sep='\t')
The print()
function accepts a sep
parameter to alter what string is used to delimit the values. In python 3, only the print()
function remains and the old print
statement from python 2 has been removed.
Upvotes: 5
Reputation: 250931
You can import the print()
function from __future__
and use sep='\t'
, print()
function was introduced in python 3, and it replaced the print
statement used in python 2.x:
In [1]: from __future__ import print_function
In [2]: print('a','b',sep='\t')
a b
help on print()
:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout)
Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline.
Upvotes: 6