【2020Python错题本】文件处理
程序员文章站
2022-04-16 09:23:33
错误类型: UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence 1、 t 模式下的 读操作 新建txt文件 313.txt —— hello worldhe ......
错误类型:
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) 你好,世界 你好,每一天 你好,米粒 >>>
=====
之前英文和数字的文本内容,读取时没有指定解码编码,没有出错。是因为英文和数字是不会出现乱码现象的,使用任何编码类型解释器都能识别英文和数字。