獲取一個布爾我想一個布爾值分配給該opertions:從HTML表達的Python
soup = BeautifulSoup(page)
x = soup.find('tr')
y = x.findAll('td')
left = y[0]
如果assert('blah'in left['class'])
也是如此 - 這意味着有左側有一個名爲「嗒嗒」類,然後 return true
。
獲取一個布爾我想一個布爾值分配給該opertions:從HTML表達的Python
soup = BeautifulSoup(page)
x = soup.find('tr')
y = x.findAll('td')
left = y[0]
如果assert('blah'in left['class'])
也是如此 - 這意味着有左側有一個名爲「嗒嗒」類,然後 return true
。
順便說一句,你已經使用find
而不是find_all
,所以沒有必要索引中的第一reuslt在y[0]
soup = BeautifulSoup(page)
x = soup.find('tr')
y = x.find('td', attrs={'class': 'blah'})
return len(y)>0 # or assert len(y)>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"]')
如果我使用'如果左「嗒嗒」 [「類」]: 返回True 其他:(「左[‘類’]等等不」) 提高Asse田'會有一萬阿英,蔣達清,如果離開了[0]不包含類屬性。我得到一個錯誤'返回self._getAttrMap()[key] KeyError:'class'' –
是的,這確實假設'left'具有key'class'。如果不確定,請嘗試使用'assert'然後按'return True'記住你永遠不會返回'False'(或上面的替代單行) – danodonovan
但是,當我嘗試執行' assert('prodSpecAtribute'在左邊['class'])'當左邊的內容不是class屬性時,對吧? –
您的意思是y = x.find('td')?你沒有使用x的值。 – svk