使用的电脑系统:Windows 10 64位
使用的开发集成环境:Anaconda3
使用的Python的版本:python 3.5.2
出现的错误
读取文件时,出现乱码或者UnicodeDecodeError: 'gbk' codec can't decode byte 0xXX in position XX: incomplete multibyte sequence 错误python
出现错误的缘由
这两个错误可能会出现一个,两个错误的出现的缘由是同样的:当咱们使用了一个不正确的编码方式去读取一个不是用这个编码方式编码的文件时,轻者出现乱码,重者出现UnicodeDecodeError错误。shell
实例
1.txt文件:学习
我爱Python
我学习Python
不积跬步,无以致千里
不积小流,无以成江海ui
>>> f = open('C:\\Users\\XiangyangDai\\Desktop\\1.txt')
>>> f.read()
Traceback (most recent call last):
File "", line 1, in
f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 18: illegal multibyte sequence编码
解决方法:spa
读取文件时,指定正确的编码方式:.net
>>> f = open('C:\\Users\\XiangyangDai\\Desktop\\1.txt', encoding='utf-8')
>>> f.read()
'我爱Python\n我学习Python\n不积跬步,无以致千里\n不积小流,无以成江海'code
在使用with语句时,也是同样的,例如在第035讲:图形用户界面入门:EasyGui中,读取文档内容:blog
下面的内容于2018年12月10日更新:utf-8
其实说白了,上面出现的问题就是由于编码出错引发的,今天,我总结了遇到的全部编码方面的问题,写了一篇博客:
你们能够看一下,必定会更进一步的。