注释掉“ for”语句导致“ NoneType”没有len()

时间:2018-08-15 17:19:58

标签: python types beautifulsoup tags

感谢我对这个奇怪错误的见解。提前致谢!我仍在尝试学习BeautifulSoup结构以及Tag.Elements何时可用。因此,在示例1中,它很简单,可以按预期方式输出。在示例2中,我试图编写一个for循环,但不满意并注释掉了。

1)当我再次运行代码(保存新更改后)时,出现以下错误:TypeError:类型为'NoneType'的对象没有len()。奇怪的。有人知道为什么我会看到此错误吗?我仔细检查了这些行是否已被注释,保存和运行。然后删除评论,保存,然后再次运行。相同。

EXAMPLE 1:
chapter = soup.find('h3', text=re.compile('chapter', re.IGNORECASE))
print(type(chapter))
print(chapter.string)
p_tag = 'p'
item = chapter
print(item)
print(type(item))

=== RESTART: D:\Scripts\Python\batch content editing\get_tree_position.py ===
<class 'bs4.element.Tag'>
CHAPTER ONE 
CHAPTER ONE
<class 'bs4.element.Tag'>


EXAMPLE 2:
chapter = soup.find('h3', text=re.compile('chapter', re.IGNORECASE))
print(type(chapter))
print(chapter.string)
#print(type(soup.chapter))
p_tag = 'p'
item = chapter
print(item.string)
print(type(item)) 
#for item in h3.findNextSiblings():
#   getattr(item, 'name')

=== RESTART: D:\Scripts\Python\batch content editing\get_tree_position.py ===
Traceback (most recent call last):
  File "D:\Scripts\Python\batch content editing\get_tree_position.py", line 28, in <module>
    big_soup = BeautifulSoup(contents, 'html.parser')
  File "C:\Python\Python36\lib\site-packages\bs4\__init__.py", line 246, in __init__
    elif len(markup) <= 256 and (
TypeError: object of type 'NoneType' has no len()

1 个答案:

答案 0 :(得分:0)

抱歉,这是一个完全不同的部分中的编辑器或鼠标垫错误。我发现它是在同一时间发布的。所以,谢谢你,伯克伦!道歉...