湫也也 2022-03-09 23:13 采纳率: 50%
浏览 437

pickle.load()读取出错

问题遇到的现象和发生背景

我用pickle.load()读取pkl文件时出现了错误显示
object.new(BlockManager) is not safe, use BlockManager.new()

问题相关代码,请勿粘贴截图
output = open('get_stock_price.pkl', 'rb')
get_stock_price = pickle.load(output)


```)

###### 运行结果及报错内容 

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/79547583864610.png "#left")

```python

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/var/folders/b2/mb61jycx1cj1py_69sf14qqm0000gn/T/ipykernel_1428/1963887105.py in <module>
      1 output = open('get_stock_price.pkl', 'rb')
----> 2 get_stock_price = pickle.load(output)

~/anaconda/anaconda3/lib/python3.9/copyreg.py in _reconstructor(cls, base, state)
     41 def _reconstructor(cls, base, state):
     42     if base is object:
---> 43         obj = object.__new__(cls)
     44     else:
     45         obj = base.__new__(cls, state)

TypeError: object.__new__(BlockManager) is not safe, use BlockManager.__new__()

import pickle

我的解答思路和尝试过的方法

尝试改变语句,还是没有用,一样的报错

with open("get_stock_price.pkl",'rb') as f:
    content = pickle.load(f,encoding='iso-8859-1')
print(content)

尝试将文件copyreg中的obj = object.new(cls)改成obj = cls.new()也没有用

我想要达到的结果

希望能够读取pkl中的数据QAQ

  • 写回答

3条回答 默认 最新

  • CSDN专家-黄老师 2022-03-09 23:52
    关注

    github也有人出现相同异常,参考一下解决方案:
    https://github.com/bobeobibo/phigaro/issues/33

    评论

报告相同问题?

问题事件

  • 创建了问题 3月9日

悬赏问题

  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!