Подтвердить что ты не робот

Как напечатать строку без включения '\n' в Python

Предположим, что моя строка:

' Hai Hello\nGood eve\n'

Как удалить '\n' между ними и сделать строчную печать следующим образом:

 Hai Hello Good eve 

?

4b9b3361

Ответ 1

Если вы не хотите, чтобы новая строка была в конце инструкции печати:

import sys
sys.stdout.write("text")

Ответ 2

Вы можете использовать метод replace:

>>> a = "1\n2"
>>> print a
1
2
>>> a = a.replace("\n", " ")
>>> print a
1 2

Ответ 3

В Python 2.6:

print "Hello.",
print "This is on the same line"

В Python 3.0

print("Hello", end = " ")
print("This is on the same line")

Ответ 4

Добавить запятую после "print":

print "Hai Hello",
print "Good eve",

Altho "print" отсутствует в Python 3.0

Ответ 5

Пустой старый пост, но никто, похоже, не ответил на ваш вопрос. Два возможных ответа:

Во-первых, ваша строка на самом деле Hai Hello\\\\nGood eve\\\\n печатает как Hai Hello\\nGood eve\\n из-за экранированного \\\\. Простое исправление будет mystring.replace("\\\\n","\\n") (см. http://docs.python.org/reference/lexical_analysis.html#string-literals)

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

( "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nEtiam orci felis, pulvinar id vehicleula nec, iaculis eget quam.\nNam sapien eros, hendrerit et oullamcorper nec, mattis at ipsum.\nНациональный нить, аликвит, не включенный в другие категории. fermentum non, faucibus vel odio.\nРазвитие ac odio vel metus condimentum tincidunt sed vitae magna.\nInteger nulla odio, sagittis id porta commodo, hendrerit vestibulum risus.\n...," ")

Легко пропустить скобки в начале и в конце и просто заметить \n. Печать mystring[0] должна решить эту проблему (или любой другой индекс в списке /tuple и т.д.).

Ответ 6

Я понимаю, что это ужасно старый пост, но я просто столкнулся с этим и хотел добавить его для ясности. Я считаю, что первоначальный пользователь спрашивает, как заставить ОС интерпретировать строку "some text\nsome more text" как:

некоторый текст

еще текст

Вместо печати:

"некоторый текст \nsome more text"

и ответ - это уже интерпретация. В ubuntu я столкнулся с проблемой того, что он ускользает от символов новой строки, когда я помещаю его в строку без моего запроса. Итак, строка:

"некоторый текст \nsome more text"

на самом деле

"некоторый текст \\nsome more text"

Все, что требуется, это использовать mystring.replace("\\\n", "\n"), и желаемый результат будет достигнут. Надеюсь, это ясно и помогает будущему человеку.

Ответ 7

>>> 'Hai Hello\nGood eve\n'.replace('\n', ' ')
'Hai Hello Good eve '

Ответ 8

Не уверен, что это то, о чем вы просите, но вы можете использовать строку с тремя кавычками:

print """Hey man
And here a new line

you can put multiple lines inside this kind of string
without using \\n"""

Будет напечатан:

Hey man
And here a new line

you can put multiple lines inside this kind of string
without using \n