2012-04-30 82 views
0

html5lib教程的第一步中,我看到了很混亂的行爲。html5lib返回<None>

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()返回空字符串,如文件的文件已經被讀取。

+0

mydocument.html包含...? –

+0

ofcourse,這是從redmine的登錄頁複製的html文件=),我使用完整路徑,如'/ home/user/file.html' – I159

回答

1
  • <None>並不真正意味着你的文件不會被解析,它只是意味着你記錄還沒有名字。如果你這樣做

    doc.name = "test" 
    print(doc) 
    

    它應該顯示<test>

  • parse也可以採取一個字符串作爲參數,在這種情況下它會加載你的文件,沒必要給自己打開它。

  • 嘗試print(doc.toxml())

相關問題