擅长:python、mysql、java
<h2>“读取并处理”woorden.txt文件“一行一行</h2>
<ol>
<li>将所有<code>nlwoorden</code>加载到集合中(这比加载到列表中更有效)</li>
<li>一部分一部分地读取大文件,对每个部分进行拆分,只将<code>lnwoorden</code>中没有的内容写入结果文件。你知道吗</li>
</ol>
<p>假设您的大600MB文件有合理的长行(不是600MB长),我会这样做</p>
<pre><code>nlwoorden = set()
with open("nlwoorden.txt") as f:
for line in f:
nlwoorden.update(line.split())
with open("woorden.txt") as f, with open("out.txt", "w") as fo:
for line in f:
newwords = set(line.split())
newwords.difference_update(nlwoorden)
fo.write(" ".join(newwords)
</code></pre>
<h2>结论</h2>
<p>此解决方案不应消耗太多内存,因为您从未从“”读取所有数据woorden.txt文件“马上。你知道吗</p>
<p>万一你的文件没有被行分割,你必须改变你读取部分文件的方式。但我想,你的文件会有新行。你知道吗</p>