当前位置: 首页 > article >正文

python读txt文件时出现UnicodeDecodeError错误的解决

1 现象

在编写文件读的代码:

src_file_path = "a:\\src.txt"
with open(src_file_path) as file:
    data = file.readline()

出现如下错误:

> UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 2: illegal multibyte sequence

2 分析

从含义来判断,基本是跟字符的编码相关。
该文本文件本身的编码是UTF-8格式。

3 解决方法

3.1 使用二进制的方式

在读取文件时,加入参数‘b’,即使用二进制的方式读取,代码如下:

src_file_path = "a:\\src.txt"
with open(src_file_path, 'rb') as file:
    data = file.readline()

存在的问题是,文本也以二进制的方式读取,不利于后续相关的文本操作,比如,使用split操作,就会提示:

> TypeError: a bytes-like object is required, not 'str'

3.2 指明文件编码

打开文件时,指明文件编码,代码如下:

src_file_path = "a:\\src.txt"
with open(src_file_path, encoding='UTF-8') as file:
    data = file.readline().split(" ")

可以解决方法一中存在的问题。


http://www.kler.cn/a/412553.html

相关文章:

  • DataGuard 架构和概念整理
  • FBX福币交易所创业板指放量大涨2.73% 谷子经济概念持续爆发
  • Java全栈开发:宠物医院管理系统项目实战
  • 路由策略与路由控制实验
  • 模具监视器的特点有哪些
  • 服务限流、降级、熔断-SpringCloud
  • 鸿蒙中的Image组件如何引用网络图片
  • 吉利汽车x文心快码:AI最佳实践案例
  • Matlab 2016b安装教程附安装包下载
  • 电视网络机顶盒恢复出厂超级密码大全汇总
  • 深入理解 Java 基本语法之数组
  • 项目自动化部署,持续集成/持续交付(CI/CD)工具有那些?他们的优劣势分别是什么?共计15个工具进行对比分析。
  • C++虚函数面试题及参考答案
  • 如何为 ext2/ext3/ext4 文件系统的 /dev/centos/root 增加 800G 空间
  • ms-hot28 合并两个有序数组
  • 基于RAG的企业文档智能检索系统设计与实践
  • TCP/IP 协议:网络世界的基石(2/10)
  • C/C++语言基础--C++字符串实现的三种方法(eager copy、cow、sso)
  • JavaEE 【知识改变命运】03 多线程(2)
  • java——@Transactional 在哪些情况下会失效?