Ошибка в поиске подстроки :( (РЕШЕНО)
Голова уже сутра не варит, после бессонной ночи, помогите, пожалуйста. Не пойму..
Вот этот код
# -*- coding: cp1251 -*-
import random
f = open("UK_0.txt", 'r') # открываем файл с очищенным текстом
inp = f.read() # считываем текст в строковую переменную
f.close() # закрываем файл
offset_min = 250 # минимум знаков в куске будущего дескрипшена
offset_max = 500 # максимум знаков в куске будущего дескрипшена
desc_count = 50
def get_desc(inp):
global offset_min, offset_max
offset_rand = random.randrange(offset_min, offset_max) # выбираем случайное число между минимумом и максимумом - аналог в php: $offset_rand = rand($offset_min, $offset_max); ???
desc_end = inp.index('. ', offset_rand)+1 # конец первой строки до точки с пробелом включительно
print desc_end # отладка: позиция первого точкопробела
description = inp[0:desc_end] # то, что идёт в дескрипшен: готовый кусок с точкопробелом
x = str.strip(inp[desc_end:]) # остаток текста без дескрипшена
return {"description": description, "ost": x} # результатом будет возвращен словарь: ("description": дескрипшен, "ost": остаток)
file_num = 0
d_count = 0
while len(inp) >= offset_max:
if d_count < desc_count:
# description
res = get_desc(inp)
description = res['description']
inp = res['ost']
print "Кусок номер", d_count, ":", description
d_count += 1
else:
d_count = 0
file_num += 1
Выдаёт в процессе неприятную ошибку с вылетом:
----------------------------вырезано: цитата-----------------------
.....
Кусок номер 11 : Эти ключевые слова легко индексируются и обнаруживаются, что позволяет создавать глобальные каталоги «желтых» и «белых» страниц на основе DNS. И наконец, .tel использует данные местоположения или LOC для публикации информации о географическом местоположении. Благодаря этому частные лица и компании могут указать свое точное местоположение. Преимущества публикации данных LOC в реальном времени будут увеличиваться по мере возникновения большего количества локальных услуг в ближайшие годы.
Traceback (most recent call last):
File "D:\Контент\2.py", line 28, in <module>
res = get_desc(inp)
File "D:\Контент\2.py", line 15, in get_desc
desc_end = inp.index('. ', offset_rand)+1 # конец первой строки до точки с пробелом включительно
ValueError: substring not found
Файл из примера можно скачать в ознакомительных целях ПО ССЫЛКЕ.
Подскажите, пожалуйста, что не так и как сделать, чтобы скрипт отрабатывал до конца?
