pickle在python2和python3之间的兼容性
- 2019 年 11 月 21 日
- 笔记
问题
在python2中创建的pickle文件,在python3中无法读取,错误为
1 |
nicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in range(128) |
---|
解决
困扰我两个月之久,之前是通过在python2中转存到numpy来绕过,今天突然发现了一篇博文专门讲这个问题,遂着手测试。
1 |
Xd = pickle.load(open("your_file_name",'rb'), encoding='latin1') |
---|
就是说,加上encoding='latin1'
就ok了