输入文件由intelliJ IDEA 2023.2.2创建 几个文件给出了相同的错误。 我看到评论表明 utf-8 是标准编码 并相信 intelliJ IDEA 2023.2.2 会介意该标准。
我删除了 --diff 标签,但仍然得到相同的结果。
在 Windows 11 上,使用 python 3.11 尝试格式化我的任何 python.py 文件 我得到了这个回溯
最后一行说:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd2 in position 16: invalid continuation byte
E:\python\Projects\p2>python -m black --diff settings.py
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\black\__main__.py", line 3, in <module>
patched_main()
File "src\black\__init__.py", line 1602, in patched_main
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\click\decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "src\black\__init__.py", line 668, in main
File "src\black\__init__.py", line 744, in get_sources
File "C:\Users\dickr\AppData\Roaming\Python\Python311\site-packages\black\files.py", line 254, in get_gitignore
lines = gf.readlines()
^^^^^^^^^^^^^^
File "<frozen codecs>", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd2 in position 16: invalid continuation byte
我在黑色文档中搜索了更改编码的选项,但没有成功。 谷歌搜索了这个问题,因为它与黑色相关
如何告诉黑色使用“UTF-16”?
你不能。相反:
在Linux中你会做一些事情
iconv -f UTF16 -t UTF8 input | black - | iconv -f UTF8 -f UTF16 | sponge input
。