有没有办法序列化生成器,当前状态和所有(本地变量等),以便您可以稍后加载包含序列化生成器的字符串,并能够从最后一个yield语句退出的位置开始拾取功能?如果是,并且您知道带有代码示例的网页,请分享指向它的链接。
答案 0 :(得分:7)
您应该查看generator_tools
'picklegenerator
。
您可能还会发现这篇文章很有用:http://metaoptimize.com/blog/2009/12/22/why-cant-you-pickle-generators-in-python-workaround-pattern-for-saving-training-state/
答案 1 :(得分:6)
Stackless Python能够腌制发电机。 或者您可以尝试PyPy 1.7,它还实现了许多无堆栈功能,包括生成器和函数的酸洗。
代码段:http://pastebin.com/p4RkVQkJ
Stackless Python 3.2和2.7.2可以在这里下载:http://zope.stackless.com/download/sdocument_view
PyPy 1.7可以在这里下载:http://pypy.org/download.html