/ / Redémarrez l'itération d'une boucle for en python - python, python-2.7

Redémarrez une itération d'une boucle for dans python - python, python-2.7

Je cherche à redémarrer une itération si je reçois une exception. (... il lit des données sur un serveur et obtient parfois des codes d'erreur intermittents qui ne se répètent pas lors d'une nouvelle tentative).

 with open(input, "rb") as f:
r = unicodecsv.reader(f)

for row in r:

code to request some data from server

if response_code == 200:
code to process response
else:
want to restart the iteration for the current row

Si j'utilisais une boucle while, ce genre de choseserait évidemment évident (par exemple, ne pas incrémenter le nombre), mais étant donné que je parcours de manière répétée dans une boucle for, je ne peux pas penser à un moyen de forcer une nouvelle répétition de l’itération actuelle.

Bien qu’il y ait beaucoup de messages titrés similaires (par exemple: comment redémarrer "pour" la boucle en python? , Python - Façon de redémarrer une boucle for, similaire à "continue" pour les boucles while? , python: redémarrer une boucle ) chacun de ceux que j’ai trouvés / lus semble avoir quelque chose de différent (par exemple, comment redémarrer à la fin, plutôt que de recommencer une itération si une certaine condition se présentait)

[Python 2.7]

Réponses:

7 pour la réponse № 1

Vous pouvez ajouter une seconde boucle comme ceci:

for row in r:
while True:
do stuff
if error:
continue
else:
break