Я пытаюсь написать программу для поиска определенных строк в чрезвычайно большом текстовом файле, а затем возвращать строку, а также определенное количество символов до и после нее из файла, и иметь возможность быстро сделайте это тысячи раз.
Файл состоит из одной строки и имеет размер более гигабайта, и большинство подходов, которые я видел, работают путем разбиения файла на строки.Я хочу найти способ эффективного поиска И воспользоваться преимуществами нескольких потоков. Я пытался использовать библиотеку 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 ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать список в качестве входных данных в однострочном Python
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как использовать список в качестве входных данных в однострочном Python
Anonymous » » в форуме Python - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-