2010-04-12 43 views
21

我怎样才能输出文本到控制台没有新行在最后? 例如:无新行输出

print 'temp1' 
print 'temp2' 

输出:

temp1 
temp2 

我需要:

temp1temp2 

回答

27

添加一个逗号的最后一个参数后:

print 'temp1', 
print 'temp2' 

另外, 呼叫sys.stdout.write

import sys 
sys.stdout.write("Some output") 
+5

逗号将仍然在字符串之间引入一个空格。 – 2010-04-12 16:08:45

5

试试这个:

print 'temp1', 
print 'temp2' 
+0

打了我两秒...... :( – SLaks 2010-04-12 16:07:46

+1

逗号仍然会在字符串之间引入一个空格。 – 2010-04-12 16:09:12

+3

请注意,这仍然会在test1和test2之间增加一个空格,这不是OP说他需要的空间。 – jemfinch 2010-04-12 16:09:41

4

有多种方式,但通常的选择是使用sys.stdout.write(),这 - 不同于print - 打印你想要什么。在Python 3.x中(或在Python 2.6中使用from __future__ import print_function),您也可以使用print(s, end='', sep=''),但在此时sys.stdout.write()可能更容易。

另一种方法是建立一个单一的字符串,并打印:

>>> print "%s%s" % ('temp1', 'temp2') 

但是,这显然需要你的写作要等到你知道,这两个字符串,这并不总是可取的,这意味着具有在存储器整个字符串

+0

sys.stdout.write()似乎也会将字符数添加到输出中。 sys.stdout.write(“test”)打印test4。为什么要这样做,我该如何让它停止? – Tom 2016-08-20 00:21:11

22

在Python> 2.6和Python 3(对于大的字符串,可以是一个问题。):

from __future__ import print_function 

print('temp1', end='') 
print('temp2', end='') 
-1

尝试

print 'temp1', 
print '\btemp2'