用python3读取python2的pickle数据方式


Posted in Python onDecember 25, 2019

问题一:TypeError: a bytes-like object is required, not 'str'

解决:该问题属于Python3和Python2的字符串兼容问题,数据文件是在Python2下序列化的,使用Python3读取时,需要将‘str'转化为'bytes'。

picklefile=open('XXX.pkl','r')
 
class StrToBytes:
  def __init__(self, fileobj):
    self.fileobj = fileobj
  def read(self, size):
    return self.fileobj.read(size).encode()
  def readline(self, size=-1):
    return self.fileobj.readline(size).encode()
 
data=pickle.load(StrToBytes(picklefile))

问题二:UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 44: ordinal not in range(128)

解决:加上encoding编码方式

pickle.load(StrToBytes(data_file),encoding='iso-8859-1')

附上完整的读取代码:

import pickle
class StrToBytes:
  def __init__(self, fileobj):
    self.fileobj = fileobj
  def read(self, size):
    return self.fileobj.read(size).encode()
  def readline(self, size=-1):
    return self.fileobj.readline(size).encode()
 
read = open('XXX.pkl', 'r')
data = pickle.load(StrToBytes(read),encoding='iso-8859-1')
  
print(data)

以上这篇用python3读取python2的pickle数据方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现简单的TCP代理服务器
Oct 08 Python
python实现汉诺塔递归算法经典案例
Mar 01 Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 Python
python爬取各类文档方法归类汇总
Mar 22 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 Python
python文件绝对路径写法介绍(windows)
Dec 25 #Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 #Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 #Python
python 定义类时,实现内部方法的互相调用
Dec 25 #Python
Python:type、object、class与内置类型实例
Dec 25 #Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 #Python
Python之Class&Object用法详解
Dec 25 #Python
You might like
php合并js请求的例子
2013/11/01 PHP
PHP的几个常用加密函数
2016/02/03 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中随机函数random用法实例
2015/04/30 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
学习心得体会
2014/01/01 职场文书
企业军训感言
2014/02/08 职场文书
出纳员岗位责任制
2014/02/11 职场文书
网络技术专业推荐信
2014/02/20 职场文书
目标管理责任书
2014/04/15 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python