Python读取文件编码及内容
Python读取文件编码及内容
最近做一个项目,需要读取文件内容,但是文件的编码方式有可能都不一样。有的使用GBK,有的使用UTF8。所以在不正确读取的时候会出现如下错误:
UnicodeDecodeError: 'gbk' codec can't decode byte
而且当你使用rb模式读取文件时候,返回的结果通过django返回的json会出现下面错误:
TypeError: b'\xbc\x8c\xe6\x9c\xaa\xe6\x9d\xa5' is not JSON serializable
总之就是编码不对,所以要先能识别文件的编码方式,然后根据此编码方式进行对文件编码,最后返回文件内容。
解决方法如下:
with open("your_file", 'rb') as fp:file_data = fp.read()result = chardet.detect(file_data)file_content = file_data.decode(encoding=result['encoding'])
注: chardet是第一个第三方库,你需要自己使用pip进行安装。
@完
转载于:https://www.cnblogs.com/zhangqunshi/p/7055258.html
Python读取文件编码及内容相关推荐
- python读取文件多行内容-Python读取文件、大文件和指定行内容的几种方法
在使用python处理文本的时候,经常会需要读取文件的内容.如果文件比较小,那么直接使用open文件对象打开文件,再通过read()方法最为方便,这种方法就是把文件内容读出来后放到内存变量. read ...
- python读取文件编码报错解决
项目场景: python读取文件报错解决 问题一:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 问题二:Unic ...
- python读取文件多行内容-使用python读取.text文件特定行的数据方法
如何用python循环读取下面.txt文件中,用红括号标出来的数据呢? 首先,观察数据可知,不同行的第一个数据元素不一样,所以考虑直接用正则表达式. 再加上,对读和写文件的操作,就行了 注:我用的是p ...
- python读取文件多行内容-Python逐行读取文件内容的方法总结
Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...
- python读取文件多行内容-python 逐行读取文件的几种方法
Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...
- python读取文件中的内容_python 读取文件夹中的文件内容
看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是 这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来 ...
- python读取文件中的内容并输出_Python从文件中读取字符串并进行解析
Python是一门简单易学的编程语言,也是目前相当流行的一门编程语言,它在各种场景都有着不错的表现咱们今天就来谈谈Python常见的几种字符串处理方式. 首先,使用的测试数据为ip.txt,文件内容为 ...
- python读取文件编码错误_关于python 读取txt文件出现编码问题:
python 读取txt文件出现编码问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 5: invalid ...
- python读取文件编码错误_Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)...
很多情况下我们是这样读取文本文件的: with open(r'F:\.Python Project\spidertest1\test\pdd凉席.txt', 'r') as f: text = f.r ...
最新文章
- Image Generation
- 服务器双网卡冗余备份技术的实现
- 字符串对比 (STl强制转换字符串)
- SVM 透彻理解与分析
- Html5实践之EventSource
- flask sql外键使用_如何在SQL中使用外键?
- Java每次输入一个字符+高精度取整计算(记洛谷P2394题WA+TLE+RE的经历,Java语言描述)
- 防火墙和路由器的滑铁卢:NAT Slipstreaming攻击
- Array 的方法们 和 object 那些让人纠结的问题 ......
- 南京计算机徐宪忠,nakaga
- 【Java开发 | 工具使用】JAVA使用exe4j打包项目为exe文件
- iPhone手机 app加密和换图标
- 第39级台阶回溯算法c语言,五大经典算法之回溯法 - osc_9ipdey7e的个人空间 - OSCHINA - 中文开源技术交流社区...
- 当ChatGPT遇上StableDiffusion ChatGPT指导StableDiffusion绘画
- 卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具Motrix!
- 【第一章】浅谈游戏作弊类型与核心原理
- 【数据库】01_sql语句
- [转]Flash与Flex3结合学习心得体会_Rich.Lee的网路历程_百度空间(转载)
- STM32 GPIO 详解
- James Charles || 一夜掉粉三百万,油管美妆区顶级流量的覆灭