Python的最大递归深度错误
今天在用 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)