UnboundLocalError при возврате: Python - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть код Python Boto3, как показано ниже:

for rule in event_rules:
        if rule.startswith('Something'):
            print('[INFO] Proceeding!...')
            describe_rule = self.cw_event.describe_rule(
                Name=rule
            )
            if describe_rule['State'] == 'ENABLED':
                state = True
                break
        else:
            state = False
    return state
    .
    .
    .
if check == True:
       print('[INFO] SUCCESS' )          

else:
       print('[INFO] FAILED')

Здесь check - это функция класса, которая вызывает вышеуказанный блок из своей функции. Я довольно уверен в функции ичасть класса.В этом случае, когда правило присутствует и находится в состоянии ENABLED, код выполняется успешно.Если условия не совпадают, выдает ошибку следующим образом:

UnboundLocalError: локальная переменная 'состояние', на которую ссылается перед присваиванием

Я не могу понять этоиз.Я прошел через этот ответ: UnBoundLocalError: Локальная переменная, на которую ссылаются перед назначением [Счетчик] , и дал состояние как глобальное, но все равно не удалось.

1 Ответ

0 голосов
/ 10 декабря 2018

Как уже упоминалось в комментариях, вы, вероятно, должны указать, где генерируется исключение, но на первый взгляд, если вы попали в if rule.startswith('Something'):, но не нажали второй оператор if [State] == 'ENABLED', тогда состояние не будет инициированои может выдать ошибку в операторе возврата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...