对于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文本的方法相关推荐

  1. python读取中文txt文本-python读取中文txt文本的方法

    对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...

  2. python读取txt中的一列称为_python读取中文txt文本的方法

    对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...

  3. python怎么读中文-python读取中文txt文本的方法

    对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unico ...

  4. python txt默认读取字符还是行,python读取中文txt文本的方法

    字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unicode编码成另一种编码. ...

  5. python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)

    前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...

  6. python 读取大文件_Python读取大文件

    1. 前言 前几天在做日志分析系统,需要处理几十G的文件,我尝试用原来的for line in open(filepath).readlines()处理,但停顿好久也没变化,可见占用不小的内存.在网上 ...

  7. spring使用@Value注解读取.properties文件时出现中文乱码问题的解决

    spring使用@Value注解读取.properties文件时出现中文乱码问题的解决 参考文章: (1)spring使用@Value注解读取.properties文件时出现中文乱码问题的解决 (2) ...

  8. java读取.properties文件及解决中文乱码问题

    java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...

  9. python保存为mat文件_Python读取mat文件保存为pickle格式的实例代码

    Python使用pickle模块储存对象操作 Python读取mat文件,并保存为pickle格式的方法 这两天在搞Theano,要把mat文件转成pickle格式载入Python. Matlab是把 ...

最新文章

  1. 多元回归树分析Multivariate Regression Trees,MRT
  2. golang相关在线学习文档
  3. TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
  4. C++正整数的素数分解的实现算法(附完整源码)
  5. C# 进程之间的通讯
  6. php+compose+使用,docker使用 docker-compose配置PHP环境(php+nginx+mysql)及启动
  7. 深入解析react关于事件绑定this的四种方式
  8. css 汉字注音,日本语片假名
  9. 九月腾讯,创新工场,淘宝等公司最新面试三十题(更新至10.04)
  10. 摄像头分辨率怎么调整_网络监控摄像头怎么选择 网络监控摄像头选择方法【介绍】...
  11. mysql join原理_MySQL的JOIN(二):JOIN原理
  12. mysql5.7.6允许远程_mysql5.7 设置远程访问
  13. 通过运用多线程来异步控制程序的运行
  14. 计算机拍板基础知识的备课,word图文混合排版
  15. DNS各地延迟排行榜
  16. 百度推广关键字质量度优化指南
  17. 动态路由协议之OSPF基本原理、区域划分及配置
  18. 详解C++学习方向和就业方向!
  19. Win10 无法使用内置管理员账户打开应用程序解决方案
  20. 【总结】美团之推荐系统

热门文章

  1. 实现公众号推送消息功能php
  2. Vue实战-实现登陆页面
  3. rsync 传输文件
  4. 2022年导游资格导游服务能力考试每日一练及答案
  5. 迅为龙芯2K1000开发板虚拟机ubuntu安装SSH服务
  6. 【教男朋友用python做计量】02.输出OLS回归结果的参数
  7. 【AD封装】KF2EDGK系列5.08接线端子(带3D)
  8. C++值赋值运算符重载
  9. 苹果系统VMware tool安装,实现虚拟系统全屏化
  10. 微信好友列表数据结构分析