Python读取文件编码及内容
来源:互联网 发布:js 鼠标移到图片放大 编辑:程序博客网 时间:2024/05/21 09:07
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进行安装。
@完
阅读全文
0 0
- Python读取文件编码及内容
- Python读取文件,检测文件编码及去除UTF8 BOM
- python读取指定字节及位置的文件内容
- Python逐行读取文件内容
- Python逐行读取文件内容
- Python逐行读取文件内容
- Python逐行读取文件内容
- Python逐行读取文件内容
- Python逐行读取文件内容
- Python逐行读取文件内容
- java读取文件内容的编码问题
- java读取文件内容的编码问题
- C++ 写文件及读取文件内容
- python读取文件:固定大小内容
- python读取指定文件指定行数内容
- python读取指定文件指定行数内容
- Python 按行读取文件内容
- Python跳过第一行读取文件内容
- 飞机大战(五)
- POI分sheet导出Excel或者zip通用高速方法(万条数据以上)
- 整理整理
- VMware Workstation网络连接问题
- [mysql] centos 安装 mysql 后,提示密码错误
- Python读取文件编码及内容
- MySql 100万级别数据中随机获取一条或多条记录之RAND()优化
- MyBatis初探——MyBatis配置
- 化学式中间的点怎么打?
- java泛型中的通配符?问题
- 为控件添加快捷键
- tensorflow1.0 LSTM实现
- TCP三次握手与四次挥手调研
- 记录一下项目中使用到的设计模式