html5lib返回<none> </none>

时间:2012-04-30 06:42:08

标签: python html5lib

html5lib教程的第一步中,我看到了相当混乱的行为。

docs告诉:

import html5lib
f = open("mydocument.html")
doc = html5lib.parse(f)
  

这将以自定义“simpletree”格式返回树。

作为文件,我有一个普通的html文档。但就我而言,这是:

<None>
>>> doc is None
False

我认为不行,但我不知道会发生什么。

修改

如果我在打开的文件上调用read方法,则返回文件为字符串:

f = open("mydocument.html")
f.read()
# returns string with html

doc = html5lib.parse(f)之后,f.read()返回空字符串,就像文件已被读取的文件一样。

1 个答案:

答案 0 :(得分:1)

  • <None>并不意味着您的文档未被解析,只是意味着您的文档没有名称。如果你这样做

    doc.name = "test"
    print(doc)
    

    它应显示<test>

  • parse也可以将字符串作为参数,在这种情况下,它会为您加载文件,无需自己打开。

  • 尝试print(doc.toxml())