VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python爬虫 >
  • 【2020ERRORS】文件处理操作出现的错误-UnicodeDecodeError: 'gbk' codec can't decode byte 0

 

一、文件处理

错误类型:

UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence

1、 t 模式下的 读操作

 

新建txt文件 313.txt ——

hello world
hello day
hello me

@2020

 

复制代码
>>> f=open(r'D:\0tempt\313.txt',mode='rt')
>>> print(f)
<_io.TextIOWrapper name='D:\\0tempt\\313.txt' mode='rt' encoding='cp936'>
>>> res=f.read()
>>> print(res)
hello world
hello day
hello mili

@2020

>>> 
复制代码

 

新建txt文件 3133.txt——

你好,世界
你好,每一天
你好,米粒

 

复制代码
>>> f=open(r'D:\0tempt\3133.txt',mode='rt')
>>> print(f)
<_io.TextIOWrapper name='D:\\0tempt\\3133.txt' mode='rt' encoding='cp936'>
>>> res=f.read()
Traceback (most recent call last):
  File "<pyshell#46>", line 1, in <module>
    res=f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence
>>> 
复制代码

UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence

解决方法: 指定解码编码格式——encoding='UTF-8'

复制代码
>>> f=open(r'D:\0tempt\3133.txt',mode='rt',encoding='UTF-8')
>>> print(f)
<_io.TextIOWrapper name='D:\\0tempt\\3133.txt' mode='rt' encoding='UTF-8'>
>>> res=f.read()
>>> print(res)
你好,世界
你好,每一天
你好,米粒

>>> 
复制代码

 

=====

之前英文和数字的文本内容,读取时没有指定解码编码,没有出错。是因为英文和数字是不会出现乱码现象的,使用任何编码类型解释器都能识别英文和数字。


相关教程