擅长:python、mysql、java
<p><code>search_terms</code>将整个data.txt保存在内存中。总的来说不好,但在这种情况下也不太坏。</p>
<p>逐行查找是不够的,但如果情况简单,文件不太大,这不是什么大不了的事。如果你想提高效率,你应该对data.txt文件进行排序,并将其放到树状结构中。这取决于里面的数据。</p>
<p>在使用<code>next</code>之后,必须使用<code>seek</code>将指针移回。</p>
<p>显然,这里最简单的方法是生成两个行列表并使用类似于<code>in</code>的搜索:</p>
<pre><code>`db = open('db.txt').readlines()
db_words = [x.split() for x in db]
data = open('data.txt').readlines()
print('Lines in db {}'.format(len(db)))
for item in db:
for words in db_words:
if item in words:
print("Found {}".format(item))`
</code></pre>