<p>这里的问题是在打开文件时使用了<code>w</code>参数。这将导致文件每次被截断为零(内容被删除)。在Python中,属性与<a href="http://www.manpagez.com/man/3/fopen/" rel="nofollow noreferrer">C standard library function fopen()</a>相同</p>
<blockquote>
<p><code>w</code> Truncate to zero length or create text file for writing. The
stream is positioned at the beginning of the file.</p>
</blockquote>
<p>您应该改用<code>a+</code>,它将打开文件并将内容附加到末尾,而不是截断现有内容:</p>
<blockquote>
<p><code>a+</code> Open for reading and writing. The file is created if it does not
exist. The stream is positioned at the end of the file. Subse-
quent writes to the file will always end up at the then current
end of file, irrespective of any intervening fseek(3) or similar.</p>
</blockquote>
<p>示例:</p>
<pre class="lang-py prettyprint-override"><code>itmDetails2 = dets['sku'] +","+ dets['description']+","+ dets['price']+","+ dets['brand']+","+ dets['compurl']+","+ dets['reviewcount']+","+ dets['reviewrating']
filename = 'dsg-%s.txt' % dets['description']
localLog = open(filename,"a+")
localLog.write(itmDetails2+"\r\n")
localLog.close()
</code></pre>
<p>我将进一步注意到,它每次创建一个新文件的原因,是因为您正在根据描述创建您的文件名。如果你想要一个文件名,就不要包含描述</p>
<p>示例:</p>
<pre class="lang-py prettyprint-override"><code>itmDetails2 = dets['sku'] +","+ dets['description']+","+ dets['price']+","+ dets['brand']+","+ dets['compurl']+","+ dets['reviewcount']+","+ dets['reviewrating']
localLog = open("dsg-all.txt","a+")
localLog.write(itmDetails2+"\r\n")
localLog.close()
</code></pre>