1

我试图强迫自己理解如何使用类。我的代码变得更长更混乱。我希望使用类可以帮助我清理一些

from lxml import html

Class Header(object):
    def __init__(self,file_reference)
        self.header =  open(file_reference).read()

    def filing_type(self):
        tree = html.fromstring(self)
        for element in tree.iter():
            if element.tag == 'type':
                return element.text.strip()

所以我有一个特定文件的参考

 myref = 'correct_file_path'
 test_header = Header(myref)

当我执行 dir(test_header) 时,我在列表中看到了 Filing_type 函数。但是,当我跑步时

 test_header.filing_type()

我得到一个类型错误

 TypeError: 'Header' object is not subscriptable
4

1 回答 1

3

你应该使用tree = html.fromstring(self.header). return而且您的输入似乎filling_type是错误的,因为它只会返回第一个标签的内容(也许您只是想要这个)。也许您可以使用列表来存储所有类型标签或使用产量。

于 2013-08-03T23:10:47.983 回答