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

Den*_*hie 3 python file-io search full-text-search file

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

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

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

有点困惑

Ash*_*ary 6

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

with open(filname) as f:
   for line in f:
      if "search_term" in line:
           break
Run Code Online (Sandbox Code Playgroud)

  • 如果内存使用量是衡量效率的话吗?对?但如果你说话的计算速度可能会更快加载一次?...(虽然速度差异可能微不足道)...... (2认同)