Das Problem hierbei ist, dass für jeden Artikel erstellen Sie eine neue Datei (falls die Datei bereits vorhanden ist, können Sie das Entfernen Inhalt sozusagen), und schreiben Sie dann s
zu ihm.
Sie sollten also die Ordnung der Dinge tauschen sich hier:
with open('test.txt', 'w') as f: # first open the file
for obj in bucket.objects.filter(Prefix=prefix): # then iterate
f.write(obj.key)
So halten wir die Datei geöffnet handhaben, und jedes Element geschrieben werden. Ein potentielles Problem ist, dass Sie keine neue Zeile schreiben, nachdem Sie den Schlüssel eines Objekts geschrieben haben. Wir können dies tun, indem sie eine neue Linie als auch das Schreiben:
with open('test.txt', 'w') as f:
for obj in bucket.objects.filter(Prefix=prefix):
f.write(obj.key)
f.write('\n')
Also für jedes Element, erstellen Sie eine * neue * Datei 'test.txt' und schreiben Sie dieses bestimmte Objekt in die Datei? –
Tatsächlich gibt es das * letzte * Element zurück. –
Ich versuche, alle Elemente in die Liste zurückzugeben. – user3821872