0

チュートリアルの最初のステップでは、html5libかなり混乱した動作が見られます。

ドキュメントによると:

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

これにより、カスタムの「シンプルツリー」形式でツリーが返されます。

ファイルとして、私は通常のhtmlドキュメントを持っています。しかし、私の場合、これは次のとおりです。

<None>
>>> doc is None
False

大丈夫ではないと思いますが、どうなるかわかりません。

編集

read開いたファイルでメソッドを呼び出すと、ファイルが文字列として返されます。

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

そして、の後doc = html5lib.parse(f)f.read()、ファイルがすでに読み取られたファイルのように、空の文字列を返します。

4

1 に答える 1

1
  • これ<None>は、ドキュメントが解析されないことを意味するのではなく、ドキュメントに名前がないことを意味します。もし、するなら

    doc.name = "test"
    print(doc)
    

    表示されるはずです<test>

  • parse文字列を引数として使用することもできます。その場合、ファイルが読み込まれ、自分で開く必要はありません。

  • 試すprint(doc.toxml())

于 2012-04-30T07:28:11.273 に答える