Переход к следующей итерации в цикле For после обнаружения исключения с использованием Python - PullRequest
0 голосов
/ 16 октября 2018

У меня есть цикл 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 Ответ

0 голосов
/ 16 октября 2018

Полагаю, вам придется объявить переменную, следует ли пропускать итерацию (если я понял, что вы хотите сделать):

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
...