【发布时间】:2017-09-13 15:03:08
【问题描述】:
在 Python 2 中使用 dill 酸洗 lambda 函数可以正常工作,但在 Python 3 中不行,有没有其他选择?
Python 3:
import dill
import pickle
pickle.dumps(lambda x: x**2)
pickle.PicklingError: Can't pickle at 0x104e97840>: main 上的属性查找失败
Python 2.7:
import dill
import pickle
pickle.dumps(lambda x: x**2)
cdill.dill\n_create_function\np0\n(cdill.dill\n_load_type\np1\n(S'CodeType'\np2\ntp3\nRp4\n(I1\nI1\nI2\nI67\nS'|\x00\ x00d\x01\x00\x13S'\np5\n(NI2\ntp6\n(t(S'x'\np7\ntp8\nS''\np9\nS''\np10\nI1\nS''\np11\ n(t(ttp12\nRp13\nc__main__\n__dict__\ng10\nNN(dp14\ntp15\nRp16\n.
【问题讨论】:
标签: python python-3.x pickle dill