Поиск строки в большом однострочном текстовом файле в PythonPython

Программы на Python
Anonymous
Поиск строки в большом однострочном текстовом файле в Python

Сообщение Anonymous »

Я пытаюсь написать программу для поиска определенных строк в чрезвычайно большом текстовом файле, а затем возвращать строку, а также определенное количество символов до и после нее из файла, и иметь возможность быстро сделайте это тысячи раз.
Файл состоит из одной строки и имеет размер более гигабайта, и большинство подходов, которые я видел, работают путем разбиения файла на строки.Я хочу найти способ эффективного поиска И воспользоваться преимуществами нескольких потоков. Я пытался использовать библиотеку Polars, но не уверен, что она будет работать только с длинным текстовым файлом.
Это то, что я написал до сих пор, и это работает, но не очень быстро
with open(r"file.txt", 'rb', 0) as file:
for date in D:
x = date.encode('UTF-8')

s = mmap.mmap(file.fileno(), 0, access=mmap.ACCESS_READ)
Pos = s.find(x)

if Pos != -1:
file.seek(Pos-30)
P.append(file.read(60 + len(date)).decode('UTF-8'))

else:
print(date + " was not found")
file.close()


Подробнее здесь: https://stackoverflow.com/questions/724 ... r-a-string

Вернуться в «Python»