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解析xml模块封装代码
Feb 07 Python
简单介绍Python中的RSS处理
Apr 13 Python
Python中每次处理一个字符的5种方法
May 21 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
Python解决线性代数问题之矩阵的初等变换方法
Dec 12 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
Python随机数函数代码实例解析
Feb 09 Python
基于python代码批量处理图片resize
Jun 04 Python
python 实现Requests发送带cookies的请求
Feb 08 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
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
PHP+javascript液晶时钟
2006/10/09 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
显示、隐藏密码
2006/07/01 Javascript
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
Python中的ConfigParser模块使用详解
2015/05/04 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
外企财务年会演讲稿
2014/01/03 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
前台接待员岗位职责
2015/04/15 职场文书
李强优秀员工观后感
2015/06/16 职场文书
二胎满月酒致辞
2015/07/29 职场文书
师德培训心得体会2016
2016/01/09 职场文书
2016年母亲节广告语
2016/01/28 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL