python3模块对象不可调用

0 投票
1 回答
1869 浏览
提问于 2025-04-17 21:38

这是一个叫做 crawl.py 的文件。我正在尝试把它转换成 Python 3 的版本。我省略了所有不必要的细节。

出现的错误是:

Traceback (most recent call last):
  File "crawl.py", line 44, in parseAndGetLinks
    self.parser = html.parser(AbstractFormatter(DumbWriter(StringIO())))
TypeError: 'module' object is not callable


import html.parser  
from formatter import DumbWriter, AbstractFormatter  
from io  import StringIO     

parser = html.parser(AbstractFormatter(DumbWriter(StringIO())))

1 个回答

5

html.parser 是一个模块;你需要的是这个模块里的 HTMLParser

parser = html.parser.HTMLParser(AbstractFormatter(DumbWriter(StringIO())))

或者更简洁地说:

from html.parser import HTMLParser

parser = HTMLParser(AbstractFormatter(DumbWriter(StringIO())))

撰写回答