Я делаю текстовый поиск в довольно большом текстовом файле (100 тыс. Строк, 7 месяцев). Текст не такой большой, но мне нужно много поисков.Я хочу найти целевую строку и вернуть строку, где она появляется.Мой текстовый файл отформатирован так, что цель может отображаться только в одной строке.
Какой самый эффективный способ?Я делаю много поисков, поэтому хочу улучшить скорость.Вот мой код прямо сейчас:
def lookup_line(target):
#returns line of the target, or None if doesnt exist
line=None
dir=os.path.dirname(__file__)
path=dir+'/file.txt'
file=open(path,'r')
while line==None:
l=file.readline()
l=unicode(l,'utf-8')
if target in l:
break
if l=='': break #happens at end of file, then stop loop
line=l
if line=='':line=None #end of file, nothing has been found
file.close()
return line
Я использую этот код Python для приложения Google Appengine.
Спасибо!