python递归深度报错--RuntimeError: maximum recursion depth exceeded

举报
格图洛书 发表于 2021/12/30 02:05:24 2021/12/30
【摘要】 代码上传至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递归的调用自己,并且不退出 
于是程序显然陷入一个死循环一样的递归


  
  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. import sys
  4. def func(depth):
  5. depth += 1
  6. print "

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/81236769

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。