Объект "NoneType" не имеет атрибута "attrs" - если нет значения = Пропустить эту функцию

CDNthe2nd спросил: 28 марта 2018 в 03:29 в: python

Итак, я пытался выяснить, как решить проблему, на которую я застрял. В принципе, я хочу, чтобы всякий раз, когда есть значение "NoneType" на значении = Пропустить эту функцию, так что если есть no value, просто пропустите оставшуюся часть кода.

Итак, я попытался получить

bs4.find("div", {'class': "clock"}).attrs['data-code']

, что иногда эта функция не работает со всеми время, которое я пытался в основном сделать - если от него нет значения, тогда просто продолжайте остаток кода - Else excute it - то, что я сделал, - это

 if bs4.find("div", {'class': "clock"}).attrs['data-code'] == None:
                 log("Does it work?")
                 gettimer = bs4.find("div", {'class': "clock"}).attrs['data-code']
                 dothemath = int(gettimer) - 189386
                 releasetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(dothemath))

Проблема im теперь, когда он останавливается, когда он достигает инструкции if, потому что он не может найти значение, и он автоматически останавливается там - что я могу сделать, когда на нем есть NoneType, просто пропустите оставшуюся часть кода?

1 ответ

Есть решение
Barmar ответил: 28 марта 2018 в 03:38

Используйте try/except:

try:
    gettimer = bs4.find("div", {'class': "clock"}).attrs['data-code']
    // rest of code
except:
    pass
CDNthe2nd ответил: 28 марта 2018 в 03:41
Ооо да! Я полностью забыл про попытку и поймать! Это был ответ! Ценить это!