0

我想为此操作分配一个布尔值:

soup = BeautifulSoup(page)
x = soup.find('tr')
y = x.findAll('td')
left = y[0]

如果assert('blah'in left['class'])成立 - 意味着剩下的有一个名为“blah”的类,那么 return true.

4

2 回答 2

0

顺便说一句,您使用过find而不是find_all,因此无需像中那样索引第一个 reuslty[0]

soup = BeautifulSoup(page)
x = soup.find('tr')
y = x.find('td', attrs={'class': 'blah'})
return len(y)>0 # or assert len(y)>0
于 2013-05-22T13:53:18.010 回答
0

假设left有钥匙class然后

return True if 'blah' in left['class'] else False

如果这个假设并不总是成立,你可以用

return True if 'class' in left and 'blah' in left['class'] else False

但事情变得越来越糟。

如果你使用assert,当这个条件不成立时你会抛出一个异常(并且不返回任何值)。如果那是你真正想要的;

 assert('blah' in left['class'])
 return True

将评估您assert并抛出异常,或进行进度并返回True。这相当于;

 if 'blah' in left['class']:
     return True
 else:
     raise AssertionError('blah not in left["class"]')
于 2013-05-22T14:08:58.747 回答