Как я мешаю печати Python добавлять новые строки или пробелы? [дубликат]

232
задан Antti Haapala 22 February 2015 в 23:10
поделиться

7 ответов

Можно использовать:

sys.stdout.write('h')
sys.stdout.write('m')
196
ответ дан Greg Hewgill 23 November 2019 в 03:34
поделиться
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 непосредственно.

20
ответ дан tzot 23 November 2019 в 03:34
поделиться

Или используйте +, т.е.:

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

Просто удостоверяются, что все, конкатенируют - способные объекты.

27
ответ дан 23 November 2019 в 03:34
поделиться

Greg прав - можно использовать sys.stdout.write

, Возможно, тем не менее, необходимо полагать, что рефакторинг алгоритма накапливает список < whatevers> и затем

lst = ['h', 'm']
print  "".join(lst)
43
ответ дан Dan 23 November 2019 в 03:34
поделиться

Просто комментарий. В Python 3 , Вы будете использовать

print('h', end='')

для подавления endline разделителя, и

print('a', 'b', 'c', sep='')

для подавления пробельного разделителя между объектами.

285
ответ дан Federico A. Ramponi 23 November 2019 в 03:34
поделиться

Для полноты еще один путь состоит в том, чтобы очистить значение softspace после выполнения записи.

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

печать helloworld !

Используя stdout.write (), вероятно, более удобно для большинства случаев все же.

17
ответ дан Brian 23 November 2019 в 03:34
поделиться

Восстановите контроль над своей консолью! Просто:

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, ...).

9
ответ дан 23 November 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: