Как напечатать строку без включения '\ n' в Python - PullRequest
18 голосов
/ 04 февраля 2009

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

' Hai Hello\nGood eve\n'

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

 Hai Hello Good eve 

Ответы [ 8 ]

23 голосов
/ 04 февраля 2009

Если вам не нужен перевод строки в конце оператора print:

import sys
sys.stdout.write("text")
21 голосов
/ 04 февраля 2009

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

>>> a = "1\n2"
>>> print a
1
2
>>> a = a.replace("\n", " ")
>>> print a
1 2
11 голосов
/ 24 июня 2009

В 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")
3 голосов
/ 21 декабря 2011

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

немного текста

еще немного текста

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

"немного текста \ еще немного текста"

и ответ - это уже интерпретация. В Ubuntu я столкнулся с проблемой выхода из символов перевода строки при вводе в строку без моего запроса. Итак, строка:

"немного текста \ еще немного текста"

на самом деле

"немного текста \\ ns more more text"

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

3 голосов
/ 05 февраля 2009

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

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

В Python больше нет «печати» 3.0

2 голосов
/ 19 мая 2011

Старый пост, но никто не смог ответить на ваш вопрос. Два возможных ответа:

Во-первых, ваша строка на самом деле 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, consitteur adipiscing elit. \ NEtiam orci felis, pulvinar id vehicleula nec, iaculis eget quam. \ NNam sapien eros, hendrerit et ullamcorper nec, mattis at ipsum. \ Nnuli nisi fermentum non, faucibus vel odio. \ nPraesent ac odio vel metus condimentum tincidunt sed vitae magna. \ nInteger nulla odio, sagittis id porta commodo, hendrerit vestibulum risis. \ n ..., "")

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

1 голос
/ 04 февраля 2009
>>> 'Hai Hello\nGood eve\n'.replace('\n', ' ')
'Hai Hello Good eve '
0 голосов
/ 02 мая 2009

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

print """Hey man
And here's a new line

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

Напечатает:

Hey man
And here's a new line

you can put multiple lines inside this kind of string
without using \n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...