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抓取模板之家的CSS模板
Mar 16 Python
python学生信息管理系统(初级版)
Oct 17 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Flask中endpoint的理解(小结)
Dec 11 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
python 一维二维插值实例
Apr 22 Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 Python
pymysql模块使用简介与示例
Nov 17 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
Python编写nmap扫描工具
Jul 21 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
世界收音机发展史
2021/03/01 无线电
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
PHP序列化操作方法分析
2016/09/28 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
学习ExtJS form布局
2009/10/08 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
vue实现员工信息录入功能
2020/06/11 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
Python 在函数上添加包装器
2020/07/28 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
精彩的广告词
2014/03/19 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python