2011-10-16 4 views
1

Est-ce que quelqu'un sait comment faire pour inverser la liste des godets?Boto (Python) - liste de godets inversée

bucketList = self.bucket.list(PREFIX) 
bucketList.reverse() 

ne fonctionne pas.

Merci, Ron.

+0

Vous voulez dire 'list (reversed (bucketList))'? – Ski

+0

Désolé, cela ne fonctionne pas aussi: TypeError: l'argument de reverse() doit être une séquence –

+0

Pouvez-vous ajouter le résultat de "print bucketList" à votre question? –

Répondre

4

La raison pour laquelle vous ne pouvez pas faire un reverse de bucket.list() est que cette méthode renvoie réellement un générateur plutôt que la liste actuelle. Ceci est beaucoup plus efficace et permet également à boto de gérer tous les pagination des résultats dans les coulisses.

Si vous voulez vraiment inverser, vous pouvez recueillir tous les éléments dans une liste, puis inversez que:

objs = [obj for obj in self.bucket.list(PREFIX)] 
objs.reverse() 

mais s'il y a beaucoup d'objets dans le seau ce sera très inefficace.