Python pickle (я говорю о стандартном Python 2.5 / 2.6 / 2.7 здесь) не может засолить блокировки, файловые объекты и т. Д.
Он также не может выбирать генераторы и лямбда-выражения (или любой другой анонимный код), потому что в этом файле хранятся только ссылки на имена.
В случае блокировок и функций, зависящих от ОС, причина , почему вы не можете их выбрать, очевидна и имеет смысл.
Но почему вы не можете засолить генераторы?
Примечание : просто для ясности - меня интересует фундаментальная причина (или предположения и решения, которые были приняты в этом проектном решении) почему , а не ", потому что это дает вы ошибка рассола ".
Я понимаю, что этот вопрос носит несколько широкий характер, поэтому вот практическое правило того, ответили ли вы на него: «Если бы эти предположения были подняты, или тип разрешенного генератора несколько более ограничен, сработали бы генераторы травления?»