目前结论:
\nencoding文件的内容converted是utf-8-> utf-8 big-> ansi-> utf-8。每次转换后重新打开文件。
观察一段时间后,没有出现这样的错误。
\n当我使用PyCharm调试.py文件时,same文件有时出现UnicodeDecodeError,有时\xe2\x80\x99正常。我的操作系统是Windows 10,PyCharm版本是2020.3.3社区版。
错误如下:
\nTraceback (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\nRun Code Online (Sandbox Code Playgroud)\n我尝试将以下代码添加到文件头,但有时仍然出现错误,如何解决?
\n#!/usr/bin/env Python\n# coding=utf-8\nRun Code Online (Sandbox Code Playgroud)\n我找到了另一种用记事本另存为UTF-8文档的方法。我尝试了一下,但有时还是会出现错误。
\n我要加载class dynamically.
我有三个文件,MainClass.py,MyClassA.py和MyClassB.py. 为什么我要different results逃避MainClass.py和MyClassA.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) 我有一个带有属性的类和一个带有空值的列表。当生成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)