zoukankan      html  css  js  c++  java
  • Python读取文件编码及内容

    Python读取文件编码及内容

    最近做一个项目,需要读取文件内容,但是文件的编码方式有可能都不一样。有的使用GBK,有的使用UTF8。所以在不正确读取的时候会出现如下错误:

    UnicodeDecodeError: 'gbk' codec can't decode byte
    

    而且当你使用rb模式读取文件时候,返回的结果通过django返回的json会出现下面错误:

    TypeError: b'xbcx8cxe6x9cxaaxe6x9dxa5' 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进行安装。

    @完

  • 相关阅读:
    asp.net web生命周期
    图的数据结构1
    最长公共子串
    内部排序

    棋盘覆盖问题
    队列
    矩阵连乘问题
    图的数据结构2
    旅行售货员问题
  • 原文地址:https://www.cnblogs.com/zhangqunshi/p/7055258.html
Copyright © 2011-2022 走看看