У меня есть оборванная струна с множеством строк. Как мне прочитать строки одну за другой с for
предложением? Вот что я пытаюсь сделать и получаю сообщение об ошибке в переменной textData, указанной в for line in textData
строке.
for line in textData
print line
lineResult = libLAPFF.parseLine(line)
Переменная textData существует, я распечатываю ее перед тем, как спуститься, но думаю, что прекомпилятор выдает ошибку.
TIA
Деннис
textData
? Можете ли вы дать нам SSCCE , что-то, что мы можем запустить и увидеть ту же проблему, что и вы, чтобы мы могли вам ее объяснить?Ответы:
А как насчет использования
.splitlines()
?for line in textData.splitlines(): print(line) lineResult = libLAPFF.parseLine(line)
источник
"/r"
и"/n"
представляют собой обычные двухсимвольные строки, состоящие из косой черты и буквы. Вы имели в виду"\n"
?путем разделения с новой строкой.
for line in wallop_of_a_string_with_many_lines.split('\n'): #do_something..
если вы перебираете строку, вы повторяете char по char в этой строке, а не по строке.
>>>string = 'abc' >>>for line in string: print line a b c
источник
Этот ответ не работает в нескольких крайних случаях (см. Комментарии). Принятое выше решение справится с этим.
str.splitlines()
это путь. Тем не менее, я оставлю этот ответ как ссылку.Старый (неверный) ответ:
s = \ """line1 line2 line3 """ lines = s.split('\n') print(lines) for line in lines: print(line)
источник
import re
re.split
вместоstr.split
(илиsplitlines
) просто для разделения на символы новой строки? Построение регулярного выражения из одного статического буквального символа просто усложняет задачу без всякой причины.s.split
. Меняю его сейчасsplit('\n')
сохранит любые\r
символы внутри жала. Возврат каретки не удаляется, что может быть проблемой.