擅长:python、mysql、java
<p>这里的问题是,<em>对于每个</em>项目,您创建一个<em>新的</em>文件(如果文件已经存在,可以说您删除了内容),然后向其写入<code>s</code>。你知道吗</p>
<p>所以你应该在这里交换顺序:</p>
<pre><code><b>with open('test.txt', 'w') as f:</b> # first open the file
<b>for obj in bucket.objects.filter(Prefix=prefix):</b> # then iterate
f.write(obj.key)</code></pre>
<p>所以我们保持文件句柄打开,每个条目都会被写入。一个潜在的问题是,在写入对象的键之后,您将不会写入新行。我们也可以写一行新词:</p>
<pre><code>with open('test.txt', 'w') as f:
for obj in bucket.objects.filter(Prefix=prefix):
f.write(obj.key)
<b>f.write('\n')</b></code></pre>