繁体   English   中英

如何解压 python 中的文件?

[英]How to unpickle the files in python?

我有一些训练过机器学习模型的泡菜文件。 我想解开它们并想查看代码。 我尝试编写这些代码行。

import pickle
with open('cv.pickle','rb') as f:
    data_1 = pickle.load(f)

此代码给出以下错误:

AttributeError                            Traceback (most recent call last)

<ipython-input-5-25ea81eeb394> in <module>()
      2 
      3 with open('cv.pickle','rb') as f:
----> 4     data_1 = pickle.load(f)

AttributeError: Can't get attribute 'dummy_fn' on <module '__main__'>

Pickle 不只存储变量、class 名称、导入路径等代码。这就是为什么如果支持代码更改,pickle 很容易产生问题。

打开泡菜的代码需要能够访问泡菜文件中引用的类/函数。 这里的问题是你的pickle文件引用dummy_fn但是 function 在你解开的主模块中不存在。

看起来您正在 ipython 环境中阅读此内容。 以与创建 pickle 文件时相同的方式定义函数和类,然后打开文件。

为了缓解问题,您可以在模块中定义这些类/函数,然后在保存文件和加载文件时导入模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM