【发布时间】:2012-11-11 18:57:57
【问题描述】:
我有一个包含 7000 行字符串的文本文件。我必须根据几个参数搜索特定的字符串。
有人说下面的代码效率不高(速度和内存使用)。
f = open("file.txt")
data = f.read().split() # strings as list
- 首先,如果连列表都没有,我怎么开始搜索呢?
- 加载整个文件是否有效?如果没有,怎么办?
- 要过滤任何内容,我们需要搜索我们需要正确阅读的内容!
有点迷茫
【问题讨论】:
-
只要它适合内存一次读取它可能是最快的(如果这是你的效率衡量标准)...
-
@JoranBeasley 我正在寻找速度和内存效率。中间解决方案是最好的。
-
题外话,丹尼斯·里奇是你的真名吗?使用死者的名字对我来说似乎没有味道。
-
@MarkusUnterwaditzer 我不是丹尼斯·里奇(C 人)
-
@AshwiniChaudhary 的解决方案实际上比一次性加载(基于 %timeit 结果)更节省内存并获得更好的速度(这实际上让我感到惊讶......)
标签: python file search file-io full-text-search