スペル/文法修正アプリケーションであるLanguageToolの Python ラッパーであるpylanguagetoolを使用しています。Python と Windows コマンド ラインの両方で動作します。次の方法で出力が表示されるため、コマンドラインで特に役立ちます。
この出力を、できれば同じ形式でキャプチャしたいと思います。ただし、コマンド ライン出力をキャプチャする標準的な方法では、エンコード エラーが発生するようです。例えば、
pylanguagetool Text_01.txt > Text_01_comments.txt
次のエラーが生成されます。
C:\Users\danie\Desktop\Python\Grading\HI333\Test>pylanguagetool Text_01.txt > Text_01_comments.txt
Traceback (most recent call last):
File "c:\users\danie\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\danie\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\danie\AppData\Local\Programs\Python\Python39\Scripts\pylanguagetool.exe\__main__.py", line 7, in <module>
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\pylanguagetool\__init__.py", line 257, in main
print_errors(response,
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\pylanguagetool\__init__.py", line 166, in print_errors
print(
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 187, in write_and_convert
self.write_plain_text(text, cursor, start)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 190, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 190, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 190, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 190, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 41, in write
self.__convertor.write(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 162, in write
self.write_and_convert(text)
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 190, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py", line 195, in write_plain_text
self.wrapped.write(text[start:end])
File "c:\users\danie\appdata\local\programs\python\python39\lib\encodings\mbcs.py", line 25, in encode
return mbcs_encode(input, self.errors)[0]
UnicodeEncodeError: 'mbcs' codec can't encode character '\u2717' in position 0: invalid character
出力ファイルに次の内容のみを書き込みます。
English (US) detected (99% confidence)
Possibly missing comma found.
続行する方法について何か提案はありますか?
更新:以下を採用する提案の後:
pylanguagetool --no-color Text_01.txt > Text_01_comments.txt
次のエラーが生成されます。
C:\Users\danie\Desktop\Python\Grading\HI333\Test>pylanguagetool --no-color Text_01.txt > Text_01_comments.txt
Traceback (most recent call last):
File "c:\users\danie\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\danie\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\danie\AppData\Local\Programs\Python\Python39\Scripts\pylanguagetool.exe\__main__.py", line 7, in <module>
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\pylanguagetool\__init__.py", line 257, in main
print_errors(response,
File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\pylanguagetool\__init__.py", line 166, in print_errors
print(
File "c:\users\danie\appdata\local\programs\python\python39\lib\encodings\mbcs.py", line 25, in encode
return mbcs_encode(input, self.errors)[0]
UnicodeEncodeError: 'mbcs' codec can't encode character '\u2717' in position 2: invalid character
出力ファイルに次のように書き込み続けます。
English (US) detected (99% confidence)
Possibly missing comma found.