Python读取文件编码及内容
2017-06-20 17:20
267 查看
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进行安装。
@完
相关文章推荐
- Python读取文件编码及内容
- Python读取文件编码及内容
- 【python】实例-读取已有文件的内容
- 002_010 Python 处理字符串中的Zip文件 你的程序收到了一个字符串,内容是一个ZIP文件,需要读取zip文件的信息
- Python 按行读取文件内容
- Python 读取excle文件所有内容[xlrd模块]
- python 编码笔记,字符编码和读取文件
- python 读取文本文件内容转化为python的list
- 使用python读取指定目录下的源代码并将内容复制到同一新文件中
- java自动根据文件内容的编码来读取避免乱码
- Python 快速读取文件内容到列表中
- python读取指定字节及位置的文件内容
- python读取指定文件指定行数内容
- python读取指定文件指定行数内容
- Python读取文件中特定位置及特定数目的内容
- java读取文件内容的编码问题
- CDays-3 习题二 (字典及文件读取练习)及相关内容解析。Python 基础教程
- 【原】Python 用例:二进制写入和读取文件内容
- Java一次读取文本文件所有内容(已知文件编码)
- java按指定编码写入和读取文件内容的类