【发布时间】:2017-09-24 04:40:10
【问题描述】:
我有一个非常大的文件 (80 GB),每行包含一个句子。我想在此文件中搜索用户给定的字符串以匹配匹配项(空格、连字符、要忽略的大小写)。
现在我将文件作为文本保存,并且我正在使用 grep,但这需要很多时间。有什么更好的解决方案?
文本文件内容示例:
applachian
rocky mountains
andes
sierra nevada
long mountain ranges of the world
搜索查询示例:
rocky (no match)
sierra nevada (match found)
【问题讨论】:
-
您在寻找什么?是“单词”,还是“字母”或“短语”?
-
你关心文件中句子的顺序吗?
-
下一个:你会这样做吗?循环上百次?响应网络请求?
-
快速思考:您可以将文本分成几个块并运行尽可能多的线程,以便它们可以同时搜索。
-
一般来说,
set和dict数据结构对于像您建议的那样的成员资格测试最有效。
标签: python python-2.7 search text