Python读取文件编码及内容

2017/9/13 posted in  Python

当你不知道文件的具体编码方式的时候,如何正确的读取文件内容呢?

报错日志

当我们不知道文件编码方式的时候,贸然的读取文件,有时候就会出现这些问题

UnicodeDecodeError: 'gbk' codec can't decode byte
......

解决办法

所以就是编码方式不对,那么需要先能识别文件的编码文件,然后根据此编码方式进行对文件编码,最后返回文件内容。
可以借助一个第三方库chardet
```

安装chardet

pip install chardet
```

正确实例

with open("your_file", 'rb') as fp:
    file_data = fp.read()
    result = chardet.detect(file_data)
    file_content = file_data.decode(encoding=result['encoding'])