使用 pylanguagetool (Python) 时的 CMD 输出

问题描述

我正在使用 pylanguagetool,它是 LanguageTool 的 Python 包装器,是一个拼写/语法校正应用程序。它在 Python 和 Windows 命令行中运行。它在命令行中特别有用,因为它以下列方式显示输出

enter image description here

我想捕获此输出,最好采用相同的格式。但是,捕获命令行输出的标准方法似乎会产生编码错误。例如,

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 190,len(text))
  File "c:\users\danie\appdata\local\programs\python\python39\lib\site-packages\colorama\ansitowin32.py",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",in print_errors
    print(
  File "c:\users\danie\appdata\local\programs\python\python39\lib\encodings\mbcs.py",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.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)