UnicodeDecodeError: 'gbk' codec can't 类似这样的错误

def read_json(self):
        path = r'D:\xxx.json'
        with open(path) as f:
            str = json.loads(f.readline())
        print(str)

今天用python3.6在读取一个json文件时,总是提示编码错误的问题。

首先json文件保存的是UTF-8的格式,但python打开文件时没有指定编码,所以计算机里存储的还是unicode编码,在readline()时,发现文件中有中文,然后试图用gbk去解码,但文件本身是utf-8,所以解码失败。

修改如下,即解决问题。

def read_json(self):
        path = r'D:\xxx.json'
        with open(path,'r', encoding='utf-8') as f:
            str = json.loads(f.readline())
        print(str)


你可能感兴趣的:(python)