2

Python3 のカスタム マークダウン拡張機能にオプションを追加しようとしています。残念ながら、次のエラーが表示されます。

  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({}),
    ]
4

1 に答える 1

0

このエラー メッセージは、super()通話中に発生しています。

のスーパークラスMyFencedCodeExtensionmarkdown.extensions.Extension.

エラー メッセージによると、スーパークラス コンストラクターはキーワード引数を想定していませんdeflang

の署名を見て、markdown.extensions.Extension.__init__何が期待されているかを理解してください。

于 2017-07-23T22:31:53.170 に答える