我试图强迫自己理解如何使用类。我的代码变得更长,更乱。我希望使用类可以帮助我清理一些
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)
当我做一个目录(test_header)时,我在列表中看到了我的filing_type函数。但是当我跑步时
test_header.filing_type()
我得到一个TypeError
TypeError: 'Header' object is not subscriptable
答案 0 :(得分:3)
您应该使用tree = html.fromstring(self.header)
。而且return
中的filling_type
似乎是错误的,因为它只返回第一个标记的内容(也许你只是想要这个)。也许您可以使用列表来存储所有类型标签或使用yield。