擅长:python、mysql、java
<p>如果一次只读取4行并处理这些行(未经测试),可能会快得多:</p>
<pre><code>with open('100temp.txt') as in_file, open('new_100temp.txt', 'w') as out_file:
for line1, line2, line3, line4 in grouper(in_file, 4):
# modify 4 lines
out_file.writelines([line1, line2, line3, line4])
</code></pre>
<p>其中<code>grouper(it, n)</code>是一个一次生成iterabel <code>it</code>项的函数。它是作为<code>itertools</code>模块的<a href="http://docs.python.org/2/library/itertools.html#recipes" rel="nofollow noreferrer">examples</a>之一给出的(另请参见<a href="https://stackoverflow.com/a/8991553/2647279">this anwer</a>at SO)。以这种方式迭代文件类似于在文件上调用<code>readlines()</code>,然后手动迭代得到的列表,但它一次只向内存中读入几行。在</p>