【问题标题】:Error with pickle module. AttributeError: class has no attribute '__new__'泡菜模块出错。 AttributeError:类没有属性“__new__”
【发布时间】:2017-03-20 09:09:48
【问题描述】:

我用python和abaqus很久了。但是当我将我的 python 从 2.7 升级到 3.5.2 时,会发生一些错误。我尝试腌制我班级的一些对象 A。

    f = open(utilsDir + "aclass.log", 'wb')
    pickle.dump(A,f,protocol=2)
    f.close()

然后用 abaqus 的 python 解压它,它仍然是 2.7。

    filepath = utilsDir + 'aclass.log'
    A1 = pickle.load(file(filepath))

在更新我的python之前它已经工作了,但现在我有一个错误:

【问题讨论】:

  • 真的没有帮助。它说“注意:在不同版本的 Python 之间传递泡菜可能会导致麻烦,因此请尝试在两个平台上使用相同的版本。”。但我需要使用不同版本的python"
  • 您可以考虑使用不同的格式,例如json

标签: python python-2.7 abaqus python-3.5


【解决方案1】:

这是旧的,答案对 OP 没有帮助,但如果有人偶然发现这个他可以修改的代码,当 Python 2 中腌制的类不是新样式类时,通常会出现此错误,即不继承自object。

【讨论】:

    猜你喜欢
    • 2020-01-01
    • 2018-06-13
    • 2023-04-06
    • 2021-12-30
    • 2021-01-07
    • 2012-11-13
    • 2019-08-01
    • 2018-04-14
    • 2019-02-18
    相关资源
    最近更新 更多