介绍
介绍
福哥在使用Python读文件内容的时候系统报出如下错误:
'gbk' codec can't decode byte 0xb0 in position 481: illegal multibyte sequence
原因
看报错的信息很明显是使用GBK码解析文件数据失败,可是福哥的文件明明是UTF-8编码的啊?而且福哥的Python程序也是UTF-8编码的啊?
解决
没有办法,既然文件编码格式和Python程序编码格式都不能影响读取文件的编码格式,只能显式地指明了。
def loadFile(filePath): with open(filePath, encoding="utf-8") as fo: lines = fo.readlines() data = json.loads("".join(lines)) fo.close() return data
要指定open函数的编码需要通过encoding参数,可以把这个参数放到配置文件里面去。