在python中,如果我说

print 'h'

得到字母h和换行符。如果我说

print 'h',

我得到了字母h,没有换行符。如果我说

print 'h',
print 'm',

我得到字母h,一个空格,和字母m。我如何阻止Python打印空格?

print语句是同一个循环的不同迭代,所以我不能只使用+运算符。


当前回答

import sys
a=raw_input()
for i in range(0,len(a)):
       sys.stdout.write(a[i])

其他回答

你可以像使用C语言中的printf函数一样使用print。

e.g.

打印“%s%s”% (x, y)

或者使用+,即:

>>> print 'me'+'no'+'likee'+'spacees'+'pls'
menolikeespaceespls

只要确保所有对象都是可连接的对象。

这看起来很愚蠢,但似乎是最简单的:

    print 'h',
    print '\bm'
import sys
a=raw_input()
for i in range(0,len(a)):
       sys.stdout.write(a[i])

为了完整起见,另一种方法是在执行写入之后清除软空间值。

import sys
print "hello",
sys.stdout.softspace=0
print "world",
print "!"

你好世界印刷品!

在大多数情况下,使用stdout.write()可能更方便。