python如何读取中文文件-python读取中文txt文本的方法
对于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读取中文txt文本的方法
本文地址: http://www.cppcns.com/jiaoben/python/225100.html
python如何读取中文文件-python读取中文txt文本的方法相关推荐
- python读取中文txt文本-python读取中文txt文本的方法
对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...
- python读取txt中的一列称为_python读取中文txt文本的方法
对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...
- python怎么读中文-python读取中文txt文本的方法
对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...
- python txt默认读取字符还是行,python读取中文txt文本的方法
字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unicode编码成另一种编码. ...
- python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)
前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...
- python 读取大文件_Python读取大文件
1. 前言 前几天在做日志分析系统,需要处理几十G的文件,我尝试用原来的for line in open(filepath).readlines()处理,但停顿好久也没变化,可见占用不小的内存.在网上 ...
- spring使用@Value注解读取.properties文件时出现中文乱码问题的解决
spring使用@Value注解读取.properties文件时出现中文乱码问题的解决 参考文章: (1)spring使用@Value注解读取.properties文件时出现中文乱码问题的解决 (2) ...
- java读取.properties文件及解决中文乱码问题
java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...
- python保存为mat文件_Python读取mat文件保存为pickle格式的实例代码
Python使用pickle模块储存对象操作 Python读取mat文件,并保存为pickle格式的方法 这两天在搞Theano,要把mat文件转成pickle格式载入Python. Matlab是把 ...
最新文章
- 多元回归树分析Multivariate Regression Trees,MRT
- golang相关在线学习文档
- TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
- C++正整数的素数分解的实现算法(附完整源码)
- C# 进程之间的通讯
- php+compose+使用,docker使用 docker-compose配置PHP环境(php+nginx+mysql)及启动
- 深入解析react关于事件绑定this的四种方式
- css 汉字注音,日本语片假名
- 九月腾讯,创新工场,淘宝等公司最新面试三十题(更新至10.04)
- 摄像头分辨率怎么调整_网络监控摄像头怎么选择 网络监控摄像头选择方法【介绍】...
- mysql join原理_MySQL的JOIN(二):JOIN原理
- mysql5.7.6允许远程_mysql5.7 设置远程访问
- 通过运用多线程来异步控制程序的运行
- 计算机拍板基础知识的备课,word图文混合排版
- DNS各地延迟排行榜
- 百度推广关键字质量度优化指南
- 动态路由协议之OSPF基本原理、区域划分及配置
- 详解C++学习方向和就业方向!
- Win10 无法使用内置管理员账户打开应用程序解决方案
- 【总结】美团之推荐系统