【问题标题】:'NoneType' object has no attribute 'attrs' - If no value = Skip that function'NoneType' 对象没有属性 'attrs' - 如果没有值 = 跳过该函数
【发布时间】:2018-04-21 17:09:27
【问题描述】:

所以我一直在尝试找出如何解决我一直坚持的问题 - 基本上我想做的是,只要值上有“NoneType”=跳过该函数,如果有没有价值然后跳过其余的代码。

所以我试图得到的是

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

意思是有时这个函数不能一直工作,所以我试着基本上做 - 如果它没有价值,那么就继续剩下的代码 - 否则执行它 - 我所做的是

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

我现在遇到的问题是它在到达 if 语句时停止,因为它找不到值并自动停止在那里 - 每当上面有 NoneType 时我能做什么,只需跳过其余部分代码?

【问题讨论】:

  • 嗯,我不这么认为,因为每当我尝试在 bs4 上找到它时 - 它会自动退出,这意味着我无法继续执行其余代码 :)
  • 您需要有一个支持相同方法的默认对象。然后写(bs4.find("div", {'class': "clock"}) or defaultObj).attrs['data-code']
  • 你也可以把你的代码放在try/except中。
  • 嗯,我不太明白!你能给我一个例子吗!默认对象,例如? :O

标签: python if-statement nonetype


【解决方案1】:

使用try/except:

try:
    gettimer = bs4.find("div", {'class': "clock"}).attrs['data-code']
    // rest of code
except:
    pass

【讨论】:

  • 哦,是的!我完全忘记了尝试和捕捉!这就是答案!欣赏!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 2014-07-05
相关资源
最近更新 更多