对象可被拣选(或腌制)意味着什么?

时间:2010-08-30 19:32:51

标签: python pickle

Python文档提到了很多这个词,我想知道它意味着什么!谷歌搜索没有多大帮助..

3 个答案:

答案 0 :(得分:44)

它只是意味着它可以由pickle模块序列化。有关此问题的基本说明,请参阅What can be pickled and unpickled?The pickle protocol提供了更多详细信息,并显示了类如何自定义过程。

答案 1 :(得分:24)

通常不可选择的东西是,例如,套接字,文件(处理程序),数据库连接等。默认情况下,可以对从基本python类型(词典,列表,基元,对象,对象引用,甚至是圆形)构建(递归)的所有内容进行选择。

您可以实现自定义酸洗代码,例如,存储数据库连接的配置并在之后恢复它,但您需要特殊的自定义逻辑。

所有这些使得酸洗比xml,json和yaml更强大(但绝对不可读)

答案 2 :(得分:1)

酸洗 是将python中的对象转换为简单的二进制表示形式的过程,该过程可用于将该对象写入可存储的文本文件中。这样做是为了存储python对象,也称为 序列化 。您可以由此推断反序列化解酸的含义。

因此,当我们说一个对象是 picklable 时,这意味着可以使用python的pickle模块对该对象进行序列化