Откуда появилась новая строка в Python? - PullRequest
3 голосов
/ 12 января 2011

В Python, когда я делаю

print "Line 1 is"
print "big"

Вывод, который я получаю:

Line 1 is
big

Откуда происходит перевод строки?И как мне ввести оба оператора в одну строку, используя два оператора печати?

Ответы [ 4 ]

16 голосов
/ 12 января 2011

print добавляет новую строку по умолчанию.Чтобы избежать этого, используйте трейлинг ,:

print "Line 1 is",
print "big"

. , все равно даст пробел.Чтобы избежать пробела, либо объедините строки и используйте один оператор print, либо используйте sys.stdout.write().

4 голосов
/ 12 января 2011

Если вам нужен полный контроль над байтами, записанными в вывод, вы можете использовать sys.stdout

import sys
sys.stdout.write("Line 1 is ")
sys.stdout.write("big!\n")

Если вы не выводите символ новой строки (\n), вам нужно явно вызвать flush, чтобы ваши данные не буферизовались, например:

sys.stdout.flush()
4 голосов
/ 12 января 2011

Из документации :

Символ '\ n' пишется в конце, если оператор печати не заканчивается запятой.Это единственное действие, если инструкция содержит только ключевое слово print.

2 голосов
/ 12 января 2011

это стандартная функциональность, используйте print "foo",

...