如何在python中高效加载大文本文件

时间:2012-11-11 18:57:57

标签: python file search file-io full-text-search

我有一个包含7000行字符串的文本文件。我必须根据几个参数搜索一个特定的字符串。

有人说下面的代码效率不高(速度和内存使用率)。

f = open("file.txt")
data = f.read().split() # strings as list
  1. 首先,如果甚至不把它作为一个清单,我怎么能开始搜索呢?
  2. 加载整个文件是否有效?如果没有,该怎么办?
  3. 要过滤任何内容,我们需要搜索我们需要正确阅读的内容!
  4. 有点困惑

1 个答案:

答案 0 :(得分:6)

迭代文件的每一行,而不存储它。这将使程序存储器高效。

with open(filname) as f:
   for line in f:
      if "search_term" in line:
           break