Python 2.7:不能调用继承自HTMLParser的子类的方法

时间:2017-09-19 04:04:13

标签: python

我定义了一个继承自HTMLParser

的子类

MyHTMLParser.py:

from HTMLParser import HTMLParser
import urllib

# create a subclass and override the handler methods
class MyHTMLParser(HTMLParser):
    def __init__(self, url):
        HTMLParser.__init__(self)        
        self.url = url
        self.__html = ""
        self.data = urllib.urlopen(url).read() 
        self.feed(self.data)

    def handle_starttag(self, tag, attrs):
        print "Encountered a start tag:", tag

    def handle_endtag(self, tag):
        print "Encountered an end tag :", tag

    def handle_data(self, data):
        self.__html += data

    def myMethod(self):
        print self.__html



parser = MyHTMLParser("http://gushiwen.org")
parser.myMethod()

当我运行python MyHTMLParser.py(os是windows)时,它会抛出错误:

    parser.myMethod()
AttributeError: MyHTMLParser instance has no attribute 'myMethod'

为什么?python版本是2.7。

2 个答案:

答案 0 :(得分:2)

你有...保存你的编辑吗?这是一个常见的错误。

答案 1 :(得分:0)

我已经解决了这个问题,它是由缩进引起的,如果我插入空格而不是Tab,它可以工作,也许是我的IDE的错误。