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实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
用pickle存储Python的原生对象方法
Apr 28 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
python写入已存在的excel数据实例
May 03 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
python编写计算器功能
Oct 25 Python
利用python实现AR教程
Nov 20 Python
python上传时包含boundary时的解决方法
Apr 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实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
详解node中创建服务进程
2017/05/09 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
python提示No module named images的解决方法
2014/09/29 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python使用folium库绘制地图点击框
2018/09/21 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
安全隐患整改报告
2014/11/06 职场文书
一年级小学生评语大全
2014/12/25 职场文书
外科护士长工作总结
2015/08/12 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS