有时候文件打开时出现类似以下问题:

python UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0
  1. 终极方法
    使用二进制读取文件
with open(filepath, 'rb') as f:
data = f.read()
  1. 知道编码格式,指定编码格式
with open(filepath, 'r', encoding='utf-8') as f:
data = f.read()
  1. 知道编码格式,但是有些数据还是读取错误,进行忽略
with open(filepath, 'r', encoding='utf-8', errors='igore') as f:
data = f.read()

建议1:‘rb’模式不会将读取的字节转换为字符,所以我觉得方法一适用于大多数情况。

建议2:当你了解文本中字符串是什么类型时,使用方法二。(‘utf-8’,‘gbk’,‘latin-1’)

建议3:当不需要读取文本中其他编码格式的字符时,可以忽略格式错误的字符的读取,使用方法三。