小编jar*_*ied的帖子

在 PyCharm 社区中调试 Python 文件时出现 UnicodeDecodeError: 'utf-8'

目前结论:

\n

encoding文件的内容convertedutf-8-> utf-8 big-> ansi-> utf-8每次转换后重新打开文件。

\n

观察一段时间后,没有出现这样的错误

\n
\n

当我使用PyCharm调试.py文件时,same文件有时出现UnicodeDecodeError,有时\xe2\x80\x99正常。我的操作系统是Windows 10,PyCharm版本是2020.3.3社区版。

\n

错误如下:

\n
Traceback (most recent call last):\n  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\n    r = r.decode('utf-8')\nUnicodeDecodeError: 'utf-8' codec can't decode bytes in position 1022-1023: unexpected end of data\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试将以下代码添加到文件头,但有时仍然出现错误,如何解决?

\n
#!/usr/bin/env Python\n# coding=utf-8\n
Run Code Online (Sandbox Code Playgroud)\n

我找到了另一种用记事本另存为UTF-8文档的方法。我尝试了一下,但有时还是会出现错误。

\n

python utf-8 pycharm

6
推荐指数
1
解决办法
5342
查看次数

为什么从不同的文件位置调用时会得到不同的结果?

我要加载class dynamically.

我有三个文件,MainClass.pyMyClassA.pyMyClassB.py. 为什么我要different results逃避MainClass.pyMyClassA.py?当从 运行时MainClass.py,结果是:

B
Run Code Online (Sandbox Code Playgroud)

这就是我想要的结果。当从 运行时MyClassA.py,结果是:

MainClass.property is None! 
Run Code Online (Sandbox Code Playgroud)

MainClass.py的代码如下:

from MyClassA import MyClassA, main

if __name__ == '__main__':
    MyClassA.property = 'B'
    main()
Run Code Online (Sandbox Code Playgroud)

MyClassA.py的代码如下:

import importlib


class MyClassA:
    property = None


def main():
    module_name = 'MyClass' + MyClassA.property
    class_name = module_name
    module_object = importlib.import_module(module_name)
    module_class_object = getattr(module_object, class_name)

    '''
    The reason why I quote MyClassA here is that because …
Run Code Online (Sandbox Code Playgroud)

python class dynamic

2
推荐指数
1
解决办法
239
查看次数

为什么类属性中的列表实例化后仍然是类属性,而不是实例属性?

我有一个带有属性的类和一个带有空值的列表。当生成a和b的两个实例并向属性添加元素时,发现属性没有实例化。使用id查看a.property和b.property。内存地址是一样的。为什么?

如何才能property attribute成为instance attribute

我的代码示例如下:

class MyClass:
    property = []

    def __init__(self):
        pass

    def append(self, value):
        self.property.append(value)


a = MyClass()
b = MyClass()
a.append(1)
print(a.property)
b.append(1)

print(a.property)
print(b.property)

print(id(a.property))
print(id(b.property))

Run Code Online (Sandbox Code Playgroud)

结果是:

[1]
[1, 1]
[1, 1]
1866383694784
1866383694784
Run Code Online (Sandbox Code Playgroud)

我尊重的结果:

[1]
[1]
[1]
Run Code Online (Sandbox Code Playgroud)

python class instance

0
推荐指数
1
解决办法
793
查看次数

标签 统计

python ×3

class ×2

dynamic ×1

instance ×1

pycharm ×1

utf-8 ×1