Python的最大递归深度错误

本文最后更新于 2017年11月13日 上午

今天在用 Python 的爬虫的时候,遇到一个错误maximum recursion depth exceeded while calling a Python object,意思是:当调用该对象超过最大递归深度。

报错如下:

File “/usr/lib/python3.5/enum.py”, line 241, in call

return cls.new(cls, value)
File “/usr/lib/python3.5/enum.py”, line 463, in new
if type(value) is cls:
RecursionError: maximum recursion depth exceeded while calling a Python object

原因是在Python里的递归调用是有限制的,可以使用sys模块里的getrecursionlimit方法查看的到,打破递归栈的深度限制: 解析一种Python尾递归优化的方法

打开终端运行Python,可以看到默认限制值为1000.

解决方法:

sys.setrecursionlimit(2000)


Python的最大递归深度错误
https://yuluod.github.io/2017/11/13/Python的最大递归深度错误/
作者
yuluo
发布于
2017年11月13日
许可协议