Python 的泡菜(我在这里说的是标准的 Python 2.5/2.6/2.7)不能泡菜锁、文件对象等。
它也不能腌制生成器和 lambda 表达式(或任何其他匿名代码),因为腌制实际上只存储名称引用。
对于锁和依赖于操作系统的功能,您不能腌制它们的原因是显而易见的并且是有道理的。
但是为什么你不能腌制发电机呢?
注意:为了清楚起见——我对根本原因(或进入该设计决策的假设和选择)感兴趣,而不是“因为它给你一个 Pickle 错误”。
我意识到这个问题的目标有点广泛,所以这里有一个经验法则来判断你是否回答了这个问题:“如果提出这些假设,或者允许的发电机类型以某种方式受到更多限制,酸洗发电机会再次工作吗?”