首页 > 解决方案 > 有没有办法在 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 的向后不兼容吗?

标签: picklepython-3.8

解决方案


推荐阅读