【发布时间】:2017-01-11 13:52:07
【问题描述】:
我在一个目录中有很多文本文件。然后我会向用户询问一个关键字。如果用户输入例如:'hello'
然后,它必须搜索文本文件中存在的所有目录的整个文本文件,然后搜索并返回文本文件的行,具有单词hello的高优先级。
例如:
input: helloworld
输出:
filename: abcd.txt
line : this world is a good world saying hello
给我一些关于如何处理这些问题的想法!
【问题讨论】:
-
委托给
grep,会比你在Python中做的任何事情都快。 -
根据你有多少文件,它们有多大等等,你可能想看看 Whoosh,一个用纯 Python 编写的全文索引包
-
@Amadan 你能解释一下或者给我一些链接吗?
-
@duhaime 是的,我听到了,但我没有在网上看到与我的问题相关的示例。你能给我一些链接吗?
-
@duhaime:这是您在非索引数据上获得的最快速度,只要您注意正确的 regexp/shell 转义(这在后面很痛苦)。如果您有大量数据,您仍然可以使用
Popen长路(使用管道)而不是check_output快捷方式来完成。也就是说,任何索引数据而不是进行原始搜索的方法都将比我编写的 hack 更快。 :)
标签: python search-engine