pickle - 有没有办法在 Python 3.8 中加载 Python 3.6 泡菜?
问题描述
我有一个在 Python 3.6 中使用 protocol=pickle.HIGHEST_PROTOCOL 创建的 pickle 文件,即 4。
with open(file_path, 'wb') as ff:
pickle.dump(data, ff, protocol=pickle.HIGHEST_PROTOCOL)
我正在尝试在 Python 3.8 中加载文件,其中 pickle.DEFAULT_PROTOCOL = 4。
with open(file_path, 'rb') as ff:
data = pickle.load(ff)
我收到 TypeError: an integer is required (got type bytes)。我尝试向 pickle.load 调用添加不同的编码(pickle.load(ff, encodings=...)),但我不知道文件有什么问题。这是与 Python 3.8 的向后不兼容吗?
解决方案
推荐阅读
- java - 是否可以使方法(处理程序)从 Spring Cloud Stream 中的多个入站通道接收消息?
- node.js - 在 Kubernetes 上使用 Websocket 构建消息应用程序
- r - ucm 预测问题
- python - 如何使用 Python 捕获扩展循环的第一个元素?
- android - 导航到目的地的弹出片段
- neo4j - 在 Neo4j 中加载 csv,并将节点和关系放在一个 csv 文件中
- r - 错误:R Studio 的 Google 授权“暂时禁用登录”
- business-process-management - Camunda:如何在没有指示的情况下重新启动过程
- mysql - MYSQL:我应该在这里使用什么样的连接?
- arrays - 如何在 vuejs/vuetify 中显示路径在 json fake server 中的图像?