酸洗是递归的,不是顺序的。因此,要腌制一个列表,
pickle将开始腌制包含的列表,然后腌制第一个元素……潜入第一个元素并腌制相关性和子元素,直到第一个元素被序列化。然后移动到列表的下一个元素,依此类推,直到最终完成列表并完成对包含列表的序列化。简而言之,除了某些特殊情况外,很难将递归泡菜视为顺序的。
dump如果您想以
load一种特殊的方式,最好在您的样式上使用更智能的模式。
最常见的泡菜,它来腌制用一个单一的一切
dump到一个文件-
但你必须要
load一切在一个单一一次
load。但是,如果您打开文件句柄并进行多次
dump调用(例如,对列表中的每个元素进行一次调用,或选定元素的元组),则您
load将镜像……打开文件句柄并进行多次
load调用,直到获得所有列出元素并可以重建列表。但是,选择性地
load仅选择某些列表元素仍然不容易。为此,您可能必须
dict使用像这样的包将列表元素存储为(以元素或块的索引为键)作为列表元素
klepto,这样可以将腌制的食物分解
dict
透明地放入多个文件中,并可以轻松加载特定元素。



