Можно использовать:
sys.stdout.write('h')
sys.stdout.write('m')
Python 2.5.2 (r252:60911, Sep 27 2008, 07:03:14)
[GCC 4.3.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print "hello",; print "there"
hello there
>>> print "hello",; sys.stdout.softspace=False; print "there"
hellothere
, Но действительно, необходимо использовать sys.stdout.write
непосредственно.
Или используйте +
, т.е.:
>>> print 'me'+'no'+'likee'+'spacees'+'pls'
menolikeespaceespls
Просто удостоверяются, что все, конкатенируют - способные объекты.
Greg прав - можно использовать sys.stdout.write
, Возможно, тем не менее, необходимо полагать, что рефакторинг алгоритма накапливает список < whatevers> и затем
lst = ['h', 'm']
print "".join(lst)
Просто комментарий. В Python 3 , Вы будете использовать
print('h', end='')
для подавления endline разделителя, и
print('a', 'b', 'c', sep='')
для подавления пробельного разделителя между объектами.
Для полноты еще один путь состоит в том, чтобы очистить значение softspace после выполнения записи.
import sys
print "hello",
sys.stdout.softspace=0
print "world",
print "!"
печать helloworld !
Используя stdout.write (), вероятно, более удобно для большинства случаев все же.
Восстановите контроль над своей консолью! Просто:
from __past__ import printf
где __ past __. Py
содержит:
import sys
def printf(fmt, *varargs):
sys.stdout.write(fmt % varargs)
затем:
>>> printf("Hello, world!\n")
Hello, world!
>>> printf("%d %d %d\n", 0, 1, 42)
0 1 42
>>> printf('a'); printf('b'); printf('c'); printf('\n')
abc
>>>
Дополнительный бонус: если вам не нравится print >> f, ...
, вы можно расширить этот капер до fprintf (f, ...).