擅长:python、mysql、java
<p>如果是“相当大”的文件,则按顺序访问这些行,不要将整个文件读入内存:</p>
<pre><code>with open('largeFile', 'r') as inF:
for line in inF:
if 'myString' in line:
# do_something
break
</code></pre>
<p><strong>编辑:</strong></p>
<p>由于字符串中的单词可以位于连续的行上,因此您需要使用计数器来跟踪迭代的单词。比如说,</p>
<pre><code>counter = 0
words_list = ["hi","hello","how"]
with open('largeFile', 'r') as inF:
for line in inF:
# print( words_list[counter] ,line)
if words_list[counter] in line and len(line.split()) == 1 :
counter +=1
else:
counter = 0
if counter == len(words_list):
print ("here")
break;
</code></pre>
<p>文本文件</p>
<pre><code>fkerghiohgeoihhgergerig ooetbjoptj enbotobjeob
hi
hello
how
goegjepogjejgpgrg] ekrngeigoieghetghehtigehtgiethg ieoge
</code></pre>
<p>它给出了<code>here</code>的输出,因为找到了连续的单词</p>