当试图腌制高递归树对象时,我已经得到RuntimeError: maximum recursion depth exceeded
。很像this asker here。Python:在不使用`setrecursionlimit`的情况下腌制高递归对象
他通过将sys.setrecursionlimit
的递归限制设置得更高来解决了他的问题。但我不想这么做:我认为这不仅仅是解决方案。因为我希望能够腌制我的树木,即使它们中有10,000个节点。 (目前,它失败在200左右)
(此外,每个平台的真正的递归限制是不同的,我真的想避免打开这种罐头蠕虫。)
有什么办法在解决这个基本水平?如果只有pickle模块会使用循环代替递归,我不会有这个问题。也许有人有一个想法,我怎么会导致这样的事情发生,而不重写泡菜模块?
任何其他的想法如何我可以解决这个问题将不胜感激。
什么是树的?为什么需要在1000个节点之后进行酸洗?(只是试图在盒子外面思考,但我需要更多的信息...) – bwawok 2010-05-26 16:44:51
树是模拟的时间树。有点类似于源代码控制系统的提交树。 – 2010-05-26 18:11:01
你不能用BFS迭代序列化它吗? – 2012-01-02 15:40:02