gpt4 book ai didi

python - UnicodeDecodeError : 'utf-8' when debugging Python files in PyCharm Community

转载 作者:行者123 更新时间:2023-12-04 03:34:26 27 4
gpt4 key购买 nike

当前结论:encodingconverted文件是 utf-8 -> utf-8 big -> ansi -> utf-8 . 重开 之后的文件每次转化 .
观察了一段时间,有没有这样的错误 .

当我使用 PyCharm 调试时 .py文件,same文件有时有 UnicodeDecodeError,有时是正常的。我的操作系统是 Windows 10,PyCharm 版本是 2020.3.3 社区版。
错误如下:

Traceback (most recent call last):
File "D:\Program Files\JetBrains\PyCharm Community Edition 2020.3.3\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 301, in _on_run
r = r.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 1022-1023: unexpected end of data
我尝试在文件头添加如下代码,但有时还是会报错,如何解决?
#!/usr/bin/env Python
# coding=utf-8
我找到了另一种使用记事本保存为 UTF-8 文档的方法。我试过了,但有时还是有错误。

最佳答案

正如问题中所描述的那样,该问题没有一个单一的答案。许多问题都可能导致指示的错误,因此最好在 PyCharm IDE 的上下文中解决几个可能的因素。

  • 每个 Python 文件 .py (或任何其他文件)具有编码。 .py 的默认编码源代码文件是 Unicode UTF-8。这个问题是初学者经常遇到的问题,所以让我们从官方文档中找出相关的引用(以缩短任何不必要的阅读时间):

    Python’s Unicode Support

    The default encoding for Python source code is UTF-8, so you can simply include a Unicode character in a string literal.


    这意味着在大多数情况下您不需要编码字符串,请参阅 Python Source Code Encodings - PEP 263 .当前的做法是将源文件默认编码为 UTF-8,并省略模块顶部的编码字符串(这也更简洁)。
  • PyCharm IDE 有许多编码配置,可以依次细化,从全局到项目,再到文件路径。默认情况下,所有内容都应设置为 UTF-8,尤其是源代码。请参阅 PyCharm 官方文档 Configure file encoding settings .
  • 如果您正在处理外部数据文件,则上述情况除外,在这种情况下,您的源代码仍应保留为 UTF-8,并且使用所需的任何编码打开数据文件。关于 UnicodeDecodeError 的大多数问题是关于在使用 open() 时指定正确的文件编码函数到 open some data file (它们与您编写代码的源文件的编码无关)。
  • 当您的源文件导致此错误时,常见原因是在复制粘贴或打开未以 UTF-8 编码的源代码文件之后。 (复制粘贴特别出乎意料,当您从未以 UTF-8 编码的文件复制并且 IDE 不会自动将您复制粘贴的内容转换到编辑器中时)。这可能会导致上述错误。因此,您应该缩小哪个源代码文件的编码不是 UTF-8 并将其转换。

  • 我们无权访问您的项目文件,但给我的错误消息显示为调试器试图打开未以 UTF-8 编码的用户源代码文件,这与 IDE 配置和模块编码相反。

    File "D:\Program Files\JetBrains\PyCharm Community Edition 2020.3.3\plugins\python-ce\helpers\pydev_pydevd_bundle\pydevd_comm.py"

    关于python - UnicodeDecodeError : 'utf-8' when debugging Python files in PyCharm Community,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67190102/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com