logo头像
Snippet 博客主题

Python的最大递归深度错误

本文于357天之前发表,文中内容可能已经过时。

今天在用 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)

评论系统未开启,无法评论!