【发布时间】:2016-03-22 16:58:40
【问题描述】:
下面链接的文档似乎说可以腌制顶级类及其实例。但根据我之前的question 的答案,这似乎不正确。在我发布的脚本中,pickle 接受类对象并写入一个文件,但这没有用。
这是我的问题:这个文档是错误的,还是有一些我不明白的更微妙的东西?另外,在这种情况下,pickle 是否应该生成某种错误消息?
https://docs.python.org/2/library/pickle.html#what-can-be-pickled-and-unpickled,
可以腌制以下几种:
- 无、真和假
- 整数、长整数、浮点数、复数
- 普通和 Unicode 字符串
- 仅包含可提取对象的元组、列表、集合和字典
- 在模块顶层定义的函数
- 在模块顶层定义的内置函数
- 在模块顶层定义的类(我的粗体)
- 这些类的实例,其 dict 或调用 getstate() > 的结果是可腌制的(有关详细信息,请参阅腌制协议部分)。
【问题讨论】:
-
在我看来,文档清楚地解释了腌制课程的含义,而您的争论在于是否应该意味着腌制课程。
-
无意争吵。我试图了解“腌制课程”的确切含义。如果你很清楚,你能发布一些东西作为答案吗?我原本以为我可以恢复定义,这样我就可以创建更多实例,但这似乎是错误的。