Im пытается разделить текст на абзацы. Я хочу, чтобы найти первую строку, и присвоить его переменной, а остальные строки должны быть отформатирована в <p></p>
Разделите строки в абзацы и удалите пустые строки
text = "Firstline
Secondline
Third line"
Вот что у меня есть:
text = unicode(ws.description)
object.firstline = text.split('\n', 1)[0] #This works, and should not be wrapped in <p></p>
bodytext = text.partition('\n')[2]
object.body = ''.join('<p>'+L+'</p>' for L in bodytext.split('\n'))
Но object.body
возвращает этот значение
object.body = "<p></p>
<p>Secondline</p>
<p></p>
<p>Third line</p>
<p></p>"
Как я могу удалить пустые строки, так что у меня нет никакого пустого <p></p>
?
Редактировать
Вот рабочий код (от ответа Ашвини Чаудхари)
text = unicode(ws.description)
if not "\n" in text:
object.firstline = text
else:
first, rest = text.split('\n', 1)
object.firstline = first
object.body = '\n'.join(u'<p>{}</p>'.format(x) for x in rest.splitlines() if x)
Я получаю эту ошибку 'ValueError: требуется больше 1 значения для распаковки –
@ Garreth00 Это означает, что ваш текст не содержит символов новой строки, то есть что-то вроде : 'text = 'первая строка''. –
@ Garreth00 'if '\ n' not in text: print 'text содержит только одну строку'' –