首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dill或泡菜后无法检索数据

使用dill或泡菜后无法检索数据
EN

Stack Overflow用户
提问于 2019-07-16 21:30:49
回答 1查看 581关注 0票数 0

我使用dill.dump_session(filename)抛出了一个木星笔记本会话,它曾经告诉我磁盘存储已经满了。但是,我在磁盘上留了一些空间,然后再试一次。现在,我无法使用dill.load_session(filename)加载会话。

我得到以下错误:

~/.local/lib/python3.6/site-packages/dill/_dill.py in load_session(filename,main) 408 unpickler._main = main 409 unpickler._session = True -> 410 unpickler._main= unpickler.load() 411 unpickler._session = False 412 main.__dict__.update(module.__dict__) EOFError:

该文件(即文件名)的数据大小约为30G。

如何从文件中检索数据?

顺便说一句,我是在Google上运行所有这些的,让这个实例正常运行要花费我很大的钱。

我尝试过使用undill和其他unpickle方法。

例如,我尝试过这样做:

代码语言:javascript
复制
 open(file, 'a').close()
      try:
     with open(file, "rb") as Score_file:
            unpickler = pickle.Unpickler(Score_file)
            scores = unpickler.load()
            return scores

但是得到了这个错误:

`6 with open(file, "rb") as Score\_file: 7 unpickler = pickle.Unpickler(Score\_file); ----> 8 scores = unpickler.load(); 9 10 return scores ModuleNotFoundError: No module named '\_\_builtin\_\_'`

EN

回答 1

Stack Overflow用户

发布于 2019-07-19 10:45:03

我知道这可能不是你想听到的答案,但是.听起来你可能有一个损坏的泡菜文件。如果是这样的话,您只能在手工编辑数据的情况下才能获得数据,并且能够理解被腌制的字符串是什么以及它们是如何构造的。请注意,有一些非常罕见的情况,一个对象将dump,而不是load -然而,它更有可能有一个损坏的文件。不管怎样,决议是一样的..。手工编辑是保存您已被腌制的东西的唯一方法。

另外,请注意,如果您使用dump_session,您确实应该使用load_session (就像它在标准load上执行一系列步骤,逆转在dump_session中所做的操作一样) --然而,这与问题无关,问题很可能是存在一个不完整或损坏的泡菜文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57065696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档