Я получаю текстовую строку из файла. После этого я делаю цикл for
над строкой (мне нужно сохранять слова), и все работает отлично, за исключением последнего слова в файле, если после него нет разделителя.Не удается найти нужный конец строки
Мой код:
for symbol in text:
if symbol == ' ' or symbol == '-' or symbol == ',' or symbol == '\n':
lastWord = ''.join(tmpList)
del tmpList[:]
print lastWord
else:
tmpList.append(symbol)
Я понял, что нет NULL-терминации в Python. Может быть, я пытаюсь решить это на языке C, и такой алгоритм для Python неверен?
Я добавил переменную счетчика и еще одну проверку на блок «else», и он отлично работает. Интересно, правильно ли это, или я могу сделать то же самое проще в python. Else-блок теперь выглядит следующим образом:
else:
tmpList.append(symbol)
count += 1
if count == len(text):
lastWord = ''.join(tmpList)
del tmpList[:]
print lastWord
Если в конце файла нет пустой строки, после последнего слова символ не будет. – jonrsharpe
да, это мой вопрос – lazyexpert