【发布时间】:2015-05-11 20:51:53
【问题描述】:
我正在尝试将一些结果写入泡菜文件,如下所示:
raw_X = (self.token_ques(text) for text in training_data)
with open('/root/Desktop/classifier_result.pkl', 'wb') as handle:
pickle.dump(raw_X, handle)
错误:
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle generator objects
任何帮助都会非常感激。
【问题讨论】:
-
这是一个老问题:bugs.python.org/issue1092962,但是无堆栈 python 已经解决了它:gossamer-threads.com/lists/python/python/198963。这是可能的,但你必须在C/C++级别的python中工作。
-
有趣的是,这里给出的原因:peadrop.com/blog/2009/12/29/why-you-cannot-pickle-generators 由
stackless处理……而且大部分由dill处理。