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中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
Python3.5迭代器与生成器用法实例分析
Apr 30 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
Python高级特性 切片 迭代解析
Aug 23 Python
Python综合应用名片管理系统案例详解
Jan 03 Python
pymysql的简单封装代码实例
Jan 08 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
Python析构函数__del__定义原理解析
Nov 20 Python
Python中第三方库Faker的使用详解
Apr 02 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 什么是PEAR?(第三篇)
2009/03/19 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
python遍历数组的方法小结
2015/04/30 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
python学生管理系统开发
2019/01/30 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
如何判断计算机可能已经中马
2013/03/22 面试题
Shell脚本如何向终端输出信息
2014/04/25 面试题
英语演讲稿3分钟
2014/04/29 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
警察群众路线整改措施
2014/09/26 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
详解Vue的列表渲染
2021/11/20 Vue.js