Переход к следующей итерации в цикле For после обнаружения исключения с использованием Python
У меня есть цикл For в функции, которая перебирает 3 разных списка. Исключение может произойти в определенном месте кода. То, что я хочу сделать, это после того, как это исключение будет достигнуто. Я хочу, чтобы он пропустил следующую итерацию и снова прошел цикл for. Проблема в том, что когда я ловлю исключение, оно завершает всю функцию и не переходит к следующему элементу в списках. Я не уверен, что мне не хватает в этот момент. Пожалуйста, смотрите код ниже. Спасибо
def config_backup(host_device,password_list,site_slug):
for h,p,s in zip(host_device,password_list,site_slug):
try:
host = h
password = p
slug = s
# ssh into device (exception occurs here)
# do other stuff
except NetMikoTimeoutException:
print("[%s] is not reachable from site: %s " % (host, slug))
continue
1 ответ
Я думаю, вам придется объявить переменную, следует ли пропустить итерацию (если я понял, что вы хотите сделать):
def config_backup(host_device, password_list, site_slug):
skipnext = False
for host, password, slug in zip(host_device, password_list, site_slug):
if skipnext:
skipnext = False
continue
try:
# ssh into device (exception occurs here)
# do other stuff
except NetMikoTimeoutException:
print("[%s] is not reachable from site: %s " % (host, slug))
skipnext = True
#continue #continue at the end does nothing