Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python UnicodeDecodeError:cp932编解码器can';t解码位置81中的字节0x81_Python_Python 3.x_Unicode - Fatal编程技术网

Python UnicodeDecodeError:cp932编解码器can';t解码位置81中的字节0x81

Python UnicodeDecodeError:cp932编解码器can';t解码位置81中的字节0x81,python,python-3.x,unicode,Python,Python 3.x,Unicode,我试图使用2个python脚本打开一个“.obj”文件,但当我尝试编译项目时,它会向我抛出下一条错误消息: UnicodeDecodeError: cp932' codec can't decode byte 0x81 in position 81: illegal multibyte sequence 我的代码如下所示: CarString = 'volks.obj' global car global objects obj = test3.object() car = obj

我试图使用2个python脚本打开一个“.obj”文件,但当我尝试编译项目时,它会向我抛出下一条错误消息:

UnicodeDecodeError: cp932' codec can't decode byte 0x81 in position 81: illegal multibyte sequence 
我的代码如下所示:

CarString = 'volks.obj'
global car
global objects

obj = test3.object()    
car = obj.load_obj(CarString)

objects.append(glGenLists(1))
类对象:

class object():
    def __init__(self, obj = None):
        if obj:
            self.load_obj(obj)
            #self.displaylist = self.crear_dl()

    def load_obj(self, file):
        with open(file, 'r') as obj:
            data = obj.read() 


部分原因是我犯了这个错误。我是Python新手,所以我可以使用一些帮助来解决这个问题。谢谢。

您的
volks.obj
文件可能是二进制数据,而不是文本。
open
命令中的默认数据类型是text,因此需要指定binary

尝试:

如果文件确实包含文本,并且不是系统的默认编码(通常为
utf-8
,但查看错误消息可能是
cp932
),则必须在
打开
调用中指定文本编码

with open(file, 'r', encoding=<encoding_type>) as obj:
打开(文件'r',编码=)作为obj:
def load_obj(self, file):
    with open(file, 'rb') as obj:
        data = obj.read()
with open(file, 'r', encoding=<encoding_type>) as obj: