Python点滴02_Python3打开中文文本时报错的一种处理方法

自然语言处理-错字识别(基于Python)kenlm、pycorrector 中文文本纠错划分 中文文本纠错任务,常见错误类型包括: 谐音字词,如 配副眼睛-配副眼镜 混淆音字词,如 流浪织女-牛郎织女 字词顺序颠倒,如 伍迪艾伦-艾伦伍迪 字词补全,如爱有天意-假如爱有天意 形似字错误,如 高梁-高粱 中文拼音全拼,如 xingfu-幸福 中文拼音缩写,如 sz-深圳 语法错误,如想象难以-难以想象 当然,针对不同业务场景,这些问题并不一定全部存在,比如输入法中需要处... 阅读详情

        在Python3中,使用open函数打开一个纯中文的txt文件时,提示有错误,报错信息如下:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 1724: illegal multibyte sequence

        用Notepad++打开对应文件,找到对应位置,未发现特殊字符,也没有什么异常情况出现。


        个人怀疑是有一些特殊字符无法被正确解释(怀疑是全角、半角啊之类比较细微的问题),于是尝试在open中加入encoding='UTF-8'参数,依然报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 0: invalid start byte

         看来错的更离谱了,似乎一开始就读不了。


         于是尝试新方法,既然读入的文件都是字节流,何不现以二进制读入,然后输出时再解码?于是在open中选择二进制模式(rb),然后用如下语句:

          for  line in f.readlines():
                 print (line.decode('gbk'))

         这样就可以输出一些字符了!但是读不到文件结尾又中断了。(但是!毕竟可以输出部分文字了!)


         在报错位置仔细核对,没有发现什么问题。已输出的部分都正常,是在找不到中断的原因。无奈之下,在open函数中加入errors="ignore"参数,竟然成功读到文末:

        with open('qtsFull.txt',encoding='gbk',errors="ignore") as f:

        仔细核对了一下原文件和输出文件,发现输出的内容(至少是中文字符部分)并无差异。尽管不知道具体在读入和输出时忽略了哪些错误,但基本功能是实现了(无中断的全文读入),我也就把这个当作一种解决方案吧。



关于使用中文文本纠错工具--pycorrector的问题集 关于使用中文文本纠错工具–pycorrector的问题集 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: ———————————————— 本博客旨在记录博主在配置pycorrector需求的环境时遇到的各种问题,希望对想使用此工具的小伙伴有所帮助呦! 除此之外,一个python萌新也希望各位大佬能够指出本文问题所在(如果有的... 阅读详情

相关推荐

达梦数据库JDBC连接池断开自动重连设置

一、场景 在网络状况不是非常良好,经常会出现暂时性的拥塞或者断开的情况,而且当我们重启数据库时也会发生类似的情况。所以需要配置中间件的连接池来实现连接测试以及自动重连,通过重新配置连接池,成功解决了这个问题。下面会给出一份数据源配置参数详单和一份推荐的数据源配置项。 二、连接池配置参数 1. initialSize:连接池启动时创建的初始化连接数量 2. maxActive:连接池中可同时连接的最大的连接数 3. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负

lilv1989的博客 7235

python中open文本写入字符串时编码报错问题

console报错信息:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u2022’ in position 7636: illegal multibyte sequence 字面上的意思是字符串中存在’gbk’无法编码的情况。原因分析要么是open文件的编码和字符串内容不一致,要么是字符串中存在无法编码的字符。 解决方法: 用u...

y_jie1111的博客 1448

绕过ROS2!在RDK X5上直接用Python调用海康相机C++ SDK的避坑指南

本文详细介绍了在RDK X5上绕过ROS2,直接使用Python调用海康相机C++ SDK的轻量化方案。通过Cython构建Python绑定,提取海康相机SDK核心组件,实现高效图像采集。文章涵盖环境准备、Cython接口设计、编译系统配置及性能优化技巧,特别适合ARM64平台开发者。

weixin_33712987的博客 249

Python:解决with打开文件错误UnicodeDecodeError

在使用with打开部分编码不是utf-8和gbk时,可能出现报错UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xff in position 0: illegal multibyte sequence. UnicodeDecodeError 是一个很常见的错误,它通常在你试图解码一个特定编码的文本时发生,但文本不符合那个编码的规则。在你的情况下,你正在试图用 ‘gbk’ 编码来读取你的文件,但文件的某些部分可能并不符合 ‘gbk’ 编码的规则。

we chat:玩转测试开发 776

Langfuse实战:从评估打分到问题解决的完整指南

本文详细介绍了如何利用开源LLM工程平台Langfuse对AI应用进行系统性评估与优化。从创建评估数据集、设计自动化评分函数,到深入排查常见问题并关联Trace进行精准打分,提供了完整的实战指南。最后,探讨了如何利用评估结果驱动提示词迭代与A/B测试,并给出了生产环境部署与性能优化的关键考量,帮助开发者构建可测量、可分析、可改进的LLM应用。

backprop5master的博客 651

VSCode搭配Keil开发STM32:从环境配置到代码跳转全流程(避坑指南)

本文详细介绍了如何使用VSCode搭配Keil进行STM32开发,从环境配置到代码跳转的全流程指南。通过安装必备插件和正确配置项目文件,开发者可以在VSCode中享受现代编辑器的便捷功能,同时保留Keil的编译调试能力,提升嵌入式开发效率。

weixin_28832121的博客 253

不绕弯地解决文件编码问题,锟斤拷烫烫烫

使用检测到的编码读取文件

qq_53631388的博客 373

等保测评-瀚高数据库

一般适用于等保测评

m0_54146694的博客 1634

with open()各种编码问题报错集合

【python】UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position...解决办法 (295条消息) 【python】UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position...解决办法_HelenLee01的博客-优快云博客 针对修改了utf-8接着报错的情况 (295条消息) python读txt数据报编码错误_weixin_3069.

To be a better man 1683

YOLO26 网络结构逐模块解析:Backbone/Neck/Head

本文解析了YOLO26目标检测网络的架构设计,重点介绍其在Backbone、Neck和Head三个核心组件的创新优化。Backbone采用改进的CSP模块与轻量级注意力机制,提升特征提取效率;Neck使用改进的BiFPN结构实现高效多尺度特征融合;Head采用完全解耦设计简化回归流程。文章详细分析了各模块的技术演进、实现细节和设计思想,通过流程图和代码示例展示了YOLO26的整体架构和关键组件实现。该研究对模型优化、定制开发和硬件部署具有重要指导意义。

一键难忘的博客 1246

基于STM32的多传感器融合的设施农业小型搬运机器人避障控制系统设计

针对设施农业场景中狭窄通道、障碍物多样(如农机具、作物植株、水管)的特点,设计一款基于 STM32 的小型搬运机器人避障控制系统。系统通过多传感器融合实现 360° 环境感知,采用模糊 PID 控制算法实现平滑避障,满足温室、大棚等场景的搬运需求。通过在温室环境测试,系统可实现对直径≥5cm 障碍物的有效检测(检测距离误差≤5%),避障转向半径≤30cm,平均功耗≤15W。后续可通过增加激光雷达(如 TFmini)提升远距离障碍物检测能力,结合 SLAM 算法实现路径规划。

weixin_42300449的博客 860

python读取文件报错 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa6 in position 14945

在二进制模式下,无法直接使用文本处理方法,如readline()、readlines()、write()等,需要手动处理字节数据。:二进制模式适用于处理图像、音频、视频等非文本文件,因为这些文件不是以文本形式存储的,而是以二进制形式存储的。如果文件包含的是二进制数据而不是文本数据,可以使用二进制模式(‘rb’)打开文件,并在读取时避免解码。:二进制模式下的文件读写操作更加高效,因为不需要进行字符解码和编码的转换,直接操作原始字节数据。:二进制文件不以可读的文本形式呈现,因此不便于直接阅读和修改。

lph159的博客 1725

手把手教你学simulink(26.7)--控制算法场景示例:基于模型预测控制(MPC)的智能温室环境控制系统

首先,我们需要将温室环境的动力学模型转换为状态空间形式。假设我们有四个状态变量:温度 TT、湿度 HH、光照强度 II 和二氧化碳浓度 CCO2CCO2​,以及四个控制输入:加热器功率 u1u1​、加湿器加湿量 u2u2​、通风扇风速 u3u3​ 和补光灯光照强度 u4u4​。状态空间模型可以表示为:x(t)=[T(t),H(t),I(t),CCO2(t)]Tx(t)=[T(t),H(t),I(t),CCO2​(t)]T 是状态向量。

MHD0815的博客 400

Python处理中文文本

Python使用正则表达式、jieba库、pandas、matplotlib等库进行处理中文文本

木笔#的博客 3738

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

fme中python使用简单实例,遇到中文报错的解决方法

配置fme的python参考该文章https://blog.youkuaiyun.com/u013480096/article/details/104699787 因为我电脑装的是arcgis10.0,所以默认安装的python是2.6.5的版本, fme2009以上版本好像不用配置,我的fme2018可以直接使用pythoncaller转换器 使用stringreplacer转换器。替换文本内容,用正...

泥鳅也是鱼的博客 2607

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python utf-8报错_python处理一些乱码的中文文本时decode('utf-8')报错的处理

用python写脚本时,遇到处理中文(乱码的中文)时,用decode('utf-8')会发现始终会报错>>> txt_from = open('/home/love/ex130705.log')>>> txt_from_iter= iter(txt_from)>>> txt_proc = txt_from_iter.next().decode(...

weixin_39618339的博客 1662

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NLP实战01:从简单做起手把手教你一步步Python实现中文文本(新闻文本)分类

NLP实战01:从简单做起手把手教你一步步Python实现中文文本(新闻文本)分类 文章目录NLP实战01:从简单做起手把手教你一步步Python实现中文文本(新闻文本)分类1.前言2.数据集介绍3.预处理数据3.1 读取数据3.2 处理数据3.2.1 如何处理超多文字的新闻文本4.构建模型并训练数据 1.前言 NLP自然语言处理一直是人工智能,数据科学的热门分类,博主在去年参加的某学会的主题也是自然语言处理相关,自然语言处理由于是对一维上的文本,音频等方面进行处理,信息量更加的少,同时中文文本分类,相对英

theworld666的博客 6220

python 读取文件时出现字符编码格式报错

python读取文件时出现字符编码格式报错 在文本处理时遇到了一点小问题,记录一下 报错提示:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xbc in position 2: invalid start byte 文件中出现了utf-8无法正确读取的中文字符,这里可以尝试使用 encoding=‘gbk’ 来读取。 f = open(path, 'r', encoding='gbk') 有时也会出现GBK无法读取某些中文字符的情况,报错‘gbk

weixin_44908251的博客 1424

python处理一些乱码的中文文本时decode('utf-8')报错的处理

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34354173的博客 4070

python解码中文文本报错的解决办法

python解码中文文本报错的解决办法 此文的解决办法参照:QT 4.8 和 QT 5.6 中文乱码解决之道 即在Qt实例创建之前加入以下头文件和代码: #include <QTextCodec> objMain::objMain(QWidget *parent) : QWidget(parent) { QTextCodec *codec=QTextCodec::codecForNa...

g302syy的博客 733

python中文乱码 def decode-python处理一些乱码的中文文本时decode('utf-8')报错的处理...

用python写脚本时,遇到处理中文(乱码的中文)时,用decode("utf-8")会发现始终会报错>>> txt_from = open("/home/love/ex130705.log")>>> txt_from_iter= iter(txt_from)>>> txt_proc = txt_from_iter.next().decode("u...

weixin_39883079的博客 500

python3 文本处理_解决python3 写入中文文本查看为乱

在python3中我们直接使用f = open("file","w")然后写入中文时,我们先关闭然后再查看,时没问题的,但是如果我们在文本里面查看会正常的,但是cat查看是乱码,如下:In[3]:f=open("new_file.txt","w")In[4]:f.write("helloworld!\n世界你好!")Out[4]:22In[5]:f.close()In...

weixin_39827775的博客 99

python能打开的txt文件编码_Python读写txt文件时的编码问题

这个问题来自于一个小伙伴,他在处理中文数据时需要先把里面的文本过滤然后分词,因为里面有许多符号,不仅是中文标点符号,还有✳,emoji等奇怪的符号。正常情况下,中文的str经过encode('utf-8')变成bytes,然后bytes经过decode('utf-8')变回中文。原始文件是txt,那么先读进来,需要使用utf-8编码,当然你也可以使用GBK或者GB18030,这就看你的文本里面都是...

weixin_28820911的博客 826

utf-8 python 乱码prinnt u_python处理一些乱码的中文文本时decode('utf-8')报错的处理

用python写脚本时,遇到处理中文(乱码的中文)时,用decode('utf-8')会发现始终会报错>>> txt_from = open('/home/love/ex130705.log')>>> txt_from_iter= iter(txt_from)>>> txt_proc = txt_from_iter.next().decode(...

weixin_39710106的博客 271

如何快速上手 YEDDA-py3:中文文本标注神器的完整指南

YEDDA-py3 是一款强大的中文文本标注工具,基于原 SUTDAnnotator 移植并适配 Python 3.x 环境,专为提升中文文本标注效率设计。无论是 NLP 初学者还是数据标注从业者,都能通过它轻松完成高质量的文本标注任务。 ## ???? 为什么选择 YEDDA-py3? 作为一款**免费开源**的文本标注工具,YEDDA-py3 解决了传统标注流程中效率低、操作复杂的痛点。它支持...

gitblog_00582的博客 504
上一篇: Python点滴01——关于Python2.x和3.x的一些个人感受
下一篇: 用Python实现古诗词填字游戏(一)
PosPro
博客等级 码龄12年 28粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值