Я хочу найти последнее вхождение шаблона "frame (некоторая переменная номер) ())", например frame1 (), frame2 (), frame3 () .... (это не такточно строка).Я заинтересован в получении номера переменной, которая будет увеличиваться с каждым случаем.
Я сделал это с помощью этого кода и получил правильный ответ , но я хочу более эффективное решение.
regex = re.compile('frame*[0-9]*\(\)')
NoOfFrames = len(regex.findall(textfile))
Но я думаю, что может быть более эффективный способ найти его, чем перечислять все вхождения и затем подсчитывать его.например, если мы можем начать с последней строки текстового файла, тогда первым случаем будет ответ.Я также попытался использовать это
m = mmap.mmap(file.fileno(), 0, access=mmap.ACCESS_READ)
i = m.rfind(regex) # search for last occurrence of 'word'
print(i)
m.seek(i) # seek to the location
line = m.readline() # read to the end of the line
print(line)
, но это не сработает, потому что то, что я ищу, не совсем строка.Мой текстовый файл довольно большой, как в гигабайтах, и мы будем благодарны за более эффективное решение.
Спасибо!