Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查python对象是否为“无”不起作用_Python_Beautifulsoup - Fatal编程技术网

检查python对象是否为“无”不起作用

检查python对象是否为“无”不起作用,python,beautifulsoup,Python,Beautifulsoup,我使用beautifulsoup和下面的代码块来检查这个HTMLTR对象中是否包含th if tr.find('th') is not None: result[tr.find('th').text] = tr.find('td').text 但它总是输入if块并返回属性错误“'NoneType'对象没有属性'text'” 我做错了什么?您有两个不同的tr.find()调用,一个用于'th',另一个用于'td'。后者也可以返回None,但您不需要进行测试,因此tr.fin

我使用beautifulsoup和下面的代码块来检查这个HTMLTR对象中是否包含th

if tr.find('th') is not None:
           result[tr.find('th').text] = tr.find('td').text
但它总是输入if块并返回属性错误“'NoneType'对象没有属性'text'”


我做错了什么?

您有两个不同的
tr.find()
调用,一个用于
'th'
,另一个用于
'td'
。后者也可以返回
None
,但您不需要进行测试,因此
tr.find('td')。text
可以引发
AttributeError
异常

您需要测试这两个结果。如果缺少
td
单元格,可能存储空字符串或其他默认值

header, cell = tr.find('th'), tr.find('td')
if header is not None:
    result[header.text] = cell.text if cell is not None else ''

有两个不同的
tr.find()
调用,一个用于
'th'
,另一个用于
'td'
。后者也可以返回
None
,但您不需要进行测试,因此
tr.find('td')。text
可以引发
AttributeError
异常

您需要测试这两个结果。如果缺少
td
单元格,可能存储空字符串或其他默认值

header, cell = tr.find('th'), tr.find('td')
if header is not None:
    result[header.text] = cell.text if cell is not None else ''
如果
tr.find('td')
None
,怎么办?如果
tr.find('td')
None