python读取中文txt文本的方法


Posted in Python onApril 12, 2018

对于python2.7

字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unicode编码成另一种编码。

先用一些编辑器(如editplus )看一下你的txt文件保存的是utf-8,还是gb2312或其他的。当你读行时可以这样

line = (file1.readline()).decode('utf-8').encode('gb2312')或
line = (file1.readline()).decode('gb2312').encode('utf-8')

注意:txt使用utf8编码的时候会默认在文件开头插入三个不可见字符。这个是windows用来判断txt编码是否为utf8的。所以如果你直接使用decode('utf-8')的话是得不到正确结果的。

必须先判断前三个字符是否是windows插入的那三个。这个python已经定义了一个常量了,可以直接和这个常量比较,如果一样就删除前三个字符然后再decode。

import codecs 
 data = open("Test.txt").read() 
 if data[:3] == codecs.BOM_UTF8:  
  data = data[3:] 
  print data.decode("utf-8")

延伸:

因为decode的函数原型是decode([encoding], [errors='strict']),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;

如果设置为ignore,则会忽略非法字符;

如果设置为replace,则会用?取代非法字符;

如果设置为xmlcharrefreplace,则使用XML的字符引用。

对于Python3

python3下比较简单,打开的时候指定encoding参数即可:open("txt.txt", encoding="gbk").read()。

以上这篇python读取中文txt文本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
Python文件的读写和异常代码示例
Oct 31 Python
python构建深度神经网络(DNN)
Mar 10 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
Python实现的简单排列组合算法示例
Jul 04 Python
python实现n个数中选出m个数的方法
Nov 13 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
python画微信表情符的实例代码
Oct 09 Python
python 实现二维列表转置
Dec 02 Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
基于python 处理中文路径的终极解决方法
Apr 12 #Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 #Python
python 实现对文件夹内的文件排序编号
Apr 12 #Python
pandas数值计算与排序方法
Apr 12 #Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 #Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 #Python
Python实现简单http服务器
Apr 12 #Python
You might like
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
php语法检查的方法总结
2019/01/21 PHP
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
react-router中的属性详解
2017/06/01 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
python redis 删除key脚本的实例
2019/02/19 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python list和str互转的实现示例
2020/11/16 Python
《秋姑娘的信》教学反思
2014/02/28 职场文书
环境保护建议书
2014/08/26 职场文书
入党自荐书范文
2015/03/05 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
Python爬虫基础初探selenium
2021/05/31 Python
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python