Corr_tool
classを継承する独自のクラスを作成したかったのlanguage_check.LanguageTool
です。しかし、それは私にたくさんのエラーを投げかけます。他のインポートされたクラスでは、継承は問題なく機能するため、私が認識していないルールがあればお尋ねしたいと思います。
これは私のコードです:
from language_check import LanguageTool
class Corr_tool(LanguageTool):
def __init__(self):
super().__init__(language='en-GB')
tool1 = Corr_tool()
エラーは次のようになります。
in <module> tool1 = Correct_tool()
in __init__ super().__init__(language='en-GB')
in __init__ self._language = LanguageTag(language)
in __new__ return str.__new__(cls, cls._normalize(tag))
in _normalize for language in get_languages()}
in get_languages languages = LanguageTool._get_languages()
in _get_languages cls._start_server_if_needed()
in _get_languages ls._start_server_if_needed()
in _start_server_if_needed cls._start_server_on_free_port()
in _start_server_on_free_port cls._start_local_server()
in _start_local_server startupinfo=startupinfo
in __init__ restore_signals, start_new_session)
line 1155, in _execute_child startupinfo)
OSError: [WinError 87] The parameter is incorrect
何か不足していますか?説明や助けをありがとう。
編集
このコードを使用する場合:
from language_check import LanguageTool
tool1 = LanguageTool('en-GB')
text = u'A sentence with a error in the Hitchhiker’s Guide tot he Galaxy'
matches = tool1.check(text)
for match in matches:
print(match)
すべて正常に動作します。しかし、このクラスから継承しようとすると、エラーが発生します。Windows で問題が発生しますが、このコードでも問題が発生しませんか?
編集2
それは私を夢中にさせます。このコードが正常に機能する理由:
from language_check import LanguageTool
tmp_tool = LanguageTool('en-GB')
class Corr_tool(LanguageTool):
def __init__(self, lang):
super().__init__(language = lang)
tool = Corr_tool('en-GB')
しかし、これは機能しません(そして、私がすでにここに書いたエラーをスローします):
from language_check import LanguageTool
class Corr_tool(LanguageTool):
def __init__(self, lang):
super().__init__(language = lang)
tool = Corr_tool('en-GB')