python递归深度报错--RuntimeError: maximum recursion depth exceeded
【摘要】
代码上传至https://github.com/gatieme/AderXCoding/blob/master/python/error/depth-exceeded.py
问题
这段时间用Python写了一个爬虫脚本,在抓取页面采用广度优先遍历抓取。但是当遍历到1000左右时就会出现莫名其妙的错误, 通过...
代码上传至https://github.com/gatieme/AderXCoding/blob/master/python/error/depth-exceeded.py
问题
这段时间用Python写了一个爬虫脚本,在抓取页面采用广度优先遍历抓取。但是当遍历到1000左右时就会出现莫名其妙的错误,
通过pdb调试发现是:
RuntimeError: maximum recursion depth exceeded
- 1
解析
发现python默认的递归深度是很有限的(默认是1000),因此当递归深度超过999的样子,就会引发这样的一个异常。
于是我们写了下面的代码进行测试,
在代码中函数func递归的调用自己,并且不退出
于是程序显然陷入一个死循环一样的递归
-
#!/usr/bin/env python
-
#coding=utf-8
-
-
import sys
-
-
def func(depth):
-
depth += 1
-
print "
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/81236769
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)