【问题标题】:How to pass parameters to Python's HTMLParser __init__ method如何将参数传递给 Python 的 HTMLParser __init__ 方法
【发布时间】:2014-05-25 15:56:25
【问题描述】:

我正在学习 python,但在传递参数时遇到问题。根据文档,HTMLParser 类定义如下:

class html.parser.HTMLParser(strict=False, *, convert_charrefs=False)

在我的派生类中,我喜欢在convert_charrefs 参数中传递True。我怎样才能做到这一点?到目前为止,这是我的代码

from html.parser import HTMLParser

class MyParser( HTMLParser ):
    def __init(self)__:
        super(MyParser, self).__init__( ??? )

那么,我应该写什么来代替??在convert_charrfs中传递一个True值?

更新:显而易见的解决方案是致电 __init__(convert_charrefs=True) 我确实尝试过,但它对我不起作用,因为我使用的是 python 3.3.4 而不是 3.4

【问题讨论】:

  • def __init__(self) 不是def __init(self)__

标签: python python-3.x html-parsing


【解决方案1】:

那就是

super(MyParser, self).__init__(convert_charrefs=True)

【讨论】:

  • 我已经尝试过了,但我收到了错误消息:TypeError: __init__() got an unexpected keyword argument 'convert_charrefs'
  • 您确定您使用的是 Python 3.4 或更高版本吗? convert_charrefs 关键字是在 3.4 中添加的。
【解决方案2】:
from html.parser import HTMLParser

class MyParser(HTMLParser):
    def __init__(self):
        super(MyParser, self).__init__(convert_charrefs=True)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2011-07-18
    • 2015-04-04
    • 2021-12-13
    • 2012-02-23
    • 2011-07-25
    相关资源
    最近更新 更多