我正在尝试在python 3中为我的自定义markdown扩展添加一个选项。不幸的是我收到以下错误:
File "pymodules/docmarkdown.py", line 232, in get_leaflang_markdown
MyFencedCodeExtension(deflang = "leaf"),
File "pymodules/docmarkdown.py", line 61, in __init__
super(MyFencedCodeExtension,self).__init__(**kwargs)
TypeError: __init__() got an unexpected keyword argument 'deflang'
扩展的构造函数代码如下。它遵循docs提供的模式。
class MyFencedCodeExtension(markdown.extensions.Extension):
def __init__(self, **kwargs):
self.config = { 'deflang' : [ None, "language if not specified" ] }
super(MyFencedCodeExtension,self).__init__(**kwargs)
我在构造Markdown实例时引用了扩展:
return markdown.Markdown(
safe_mode = 'escape',
extensions = [
'meta',
'toc',
MyFencedCodeExtension(deflang = "leaf"),
CenterExtension({}),
]
您的super()
电话上发生此错误消息。
MyFencedCodeExtension
的超类是markdown.extensions.Extension
。
根据错误消息,超类构造函数不期望关键字参数deflang
。
看看markdown.extensions.Extension.__init__
的签名来计算出它的期望。