python3 pickle.load 读python2 文件报错, UnicodeDecodeError 和 TypeError

2023-11-14

pickle持久化文件用 python2.7 pickle.dump产生。

程序升级后用python3.6 读文件报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3: ordinal not in range(128)

按照网上找的方法,在python3的 pickle.load 调用增加参数 encoding:

pickle.load(f, encoding='latin1') #或者是 'ISO-8859-1'

出现新的错误:TypeError: an integer is required (got type str)

查看各种文档和文章,都不能解决。

后来考虑是不是python版本的问题,把pickle的持久化文件放到python3.7的环境

还是用 pickle.load(f, encoding='latin1'),就能完美解析。

最后解决方案:在python3.7 执行pickle.load(f, encoding='latin1'),然后pickle.dump持久化。

把持久化文件,放到python3.6的环境就能正常使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 pickle.load 读python2 文件报错, UnicodeDecodeError 和 TypeError 的相关文章

随机推荐

  • .npmrc的作用

    npmrc 文件是用于配置 npm Node js 包管理器 行为的配置文件 通过在项目根目录下创建或编辑 npmrc 文件 你可以自定义 npm 的一些行为和设置 以满足你的项目需求 这个文件通常包含一些键值对 每一对都对应着一个配置项
  • 非中心卡方分布

    非中心卡方分布 非中心卡方分布是卡方分布的一般化形式 如果 是 个独立的正态分布的随机变量均值为 方差为 表示为 那么随机变量 为非中心卡方分布 非中心卡方分布涉及两个参数 表示自由度 即 的数目 是和随机变量 相关的参数 由以上参数所定义
  • spring框架基础篇一 ——Ioc控制反转,DI依赖注入

    因为spring框架设计内容比较多 因此博主分成三篇讲解spring框架 spring基础篇一 Ioc控制反转 DI依赖注入 整合junit spring基础篇二 AOP切面编程 JDBCTemplate spring基础篇三 事务管理 S
  • UiBot无法抓取Google Chrome元素和数据抓取工具无法使用的解决方案

    UiBot RPA抓取 Google Chrome 元素建议使用 Google Chrome 原版浏览器 不建议使用 二次修改的浏览器版本 以确保兼容性最佳 操作流程符合本教程 如果无法抓取 Google Chrome 浏览器元素 或数据抓
  • 校园二手交易小程序

    mysql数据库创建语句 create table t admin id int primary key auto increment comment 主键 username varchar 100 comment 超级管理员账号 pass
  • 从道法术三个层面理解区块链:术

    区块链对当下的大家来说 都还是盲人摸象的阶段 所以经常群里有各种争论 归结起来 都是有的摸到了大腿 有的摸到了耳朵 相互之间就难以说服对方 各自有各自的认知 笔者尝试从道法术这三个层面来解读下区块链 以便让大家有个更全面的了解 也知道自己的
  • Linux设备驱动-procfs

    在Linux中 procfs是进程文件系统 file system 的缩写 包含一个伪文件系统 启动时动态生成的文件系统 可用于内核层和用户层交互信息 这个文件系统通常被挂载到 proc 目录 由于 proc 不是一个真正的文件系统 它也就
  • 排序算法-----插入排序

    目录 前言 插入排序 原理图 代码实现 分析总结 二分法插入排序 代码实现 前言 嗨嗨 米娜桑 今天我们继续学习排序算法中的插入排序 激不激动 兴不兴奋呢 好了废话不多说 下面请看正文 插入排序 插入排序 一般也被称为直接插入排序 对于少量
  • SSHException: Incompatible ssh peer (no acceptable kex algorithm)

    使用公司维护助手 python开发 执行巡检 导入主机信息时 发现无法连接 报错信息如下 2015 12 22 15 41 12 983 15004 ERROR paramiko transport Exception Incompatib
  • vscode 在标签的src引入别名路径_Typescript项目别名(alias)配置清单

    综述 新手写Typescript项目 别名配置是经常出问题的环节 有的人遇到这种问题 如果一时半会儿解决不了 干脆就不用别名了 这显然是不合理的 本文给出一个Typescript项目各种环节的别名配置清单 如果遇到问题 可以对照着检查一下
  • hudi 编译

    编译hudi 下载hudi git clone https github com apache incubator hudi git cd incubator hudi 编译 mvn clean install DskipTests Dsk
  • python-认识(第二段)

    1 条件表达式 关系运算符特点 可以连用 例 a b 10 50 对于 0
  • games103 物理模拟第三节笔记补充

    矩阵求逆直接法 1 LU分解 2 LDLT分解法 3 Cholesky分解 4 QR分解 5 SVD分解 6 Jordan分解 关于LU分解 LU分解的矩阵稀疏性与矩阵A的排列顺序有关 在这个领域 matlab提供了一套较好的解决方案 LU
  • docker学习1-基本概念

    Docker jar包 环境 镜像 镜像存在docker仓库中 随用随取 无需现配环境 docker通过隔离机制 各个镜像之间互不干扰 docker比vm轻量化 每次只需运行镜像即可 镜像占内存小启动快 虚拟机启动慢 占内存较大 docke
  • oracle一个事务的完整流程分析

    author skate time 2010 09 01 在oracle客户端与服务端建立连接的 并把请求提交给oracle服务端以前分析过 参考如下 http blog csdn net wyzxg archive 2010 08 16
  • 夜莺监控V6初探

    目标 客户用产品可能是功能设计好 也可能是因为响应快稳定可靠 例如滴滴用不了用高德 券商app故障受罚 微信凌晨服务崩溃 所以稳定性建设工作价值是保障客户体验 避免资损 社会负面舆论 故障生命周期处理 围绕故障生命周期 在整个故障定位体系
  • 文件上传漏洞靶场upload-labs学习(pass11-pass15)

    Upload Labs关卡 0x00 Pass11 str ireplace复写绕过 0x01 Pass12 GET方式 00截断 0x02 Pass13 POST方式 00截断 0x03 Pass14 文件头截取判断 0x04 Pass1
  • 游戏测试和软件测试有什么区别?

    针对手游而言 游戏测试的本质是APP 所以不少手游的测试方式与APP测试异曲同工 然而也有所不同 APP更多的是具有一种工具 一款APP好不好用不重要 关键点在于实用 而游戏则具有一种玩具属性 它并不见得实用 但他要符合玩家的好恶 要能让玩
  • 华为OD机试 - 寻找相似单词(Java)

    题目描述 给定一个可存储若干单词的字典 找出指定单词的所有相似单词 并且按照单词名称从小到大排序输出 单词仅包括字母 但可能大小写并存 大写不一定只出现在首字母 相似单词说明 给定一个单词X 如果通过任意交换单词中字母的位置得到不同的单词Y
  • python3 pickle.load 读python2 文件报错, UnicodeDecodeError 和 TypeError

    pickle持久化文件用 python2 7 pickle dump产生 程序升级后用python3 6 读文件报错 UnicodeDecodeError ascii codec can t decode byte 0xc3 in posi