代码上传至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-8import sysdef func(depth):depth += 1print "

python递归深度报错--RuntimeError: maximum recursion depth exceeded相关推荐

  1. python递归报错 RuntimeError: maximum recursion depth exceeded

    递归是我们常用的一种编程方法,通俗的说就是样一个方法自己调用自己. 今天写爬虫的时候,使用递归出现如下错误 RuntimeError: maximum recursion depth exceeded ...

  2. 解决报错RecursionError: maximum recursion depth exceeded in comparison

    发现python默认的递归深度是很有限的(默认是1000),因此当递归深度超过999的样子,就会引发这样的一个异常. 解决方案: 可以修改递归深度的值,让它变大大一点 import sys sys.s ...

  3. python RuntimeError: maximum recursion depth exceeded

    QListWidget 使用的时候出现了异常: RuntimeError: maximum recursion depth exceeded 原因:先设置itemSelectionChanged绑定事 ...

  4. RuntimeError: maximum recursion depth exceeded

    RuntimeError: maximum recursion depth exceeded 然后长时间运行后出现 RuntimeError: maximum recursion depth exce ...

  5. python编译器报错:“RecursionError: maximum recursion depth exceeded in comparison”解决方案

    python编译器报错:"RecursionError: maximum recursion depth exceeded in comparison"解决方案 在使用递归迭代语句 ...

  6. Python:pyinstaller报错【A RecursionError maximum recursion depth exceeded occurred】

    pyinstaller demo.py时出现如下问题: ============================================================= A Recursio ...

  7. Python maximum recursion depth exceeded while calling a Python object (gevent的SSL无限递归错误)的问题解决

    报错信息 源码位置 分析 很尴尬,完全看不出原因导致这个报错 解决方法 通过删除代码的方式一部一部删除,找到了问题出处 原因是包的顺序出现了问题,把位置互换一下,发现没有报错了,但是很明确的告诉你这两 ...

  8. np.argwhere报错maximum recursion depth exceeded while calling

    完整的报错是:RecursionError: maximum recursion depth exceeded while calling a Python object 解决方法 建议根据代码逻辑修 ...

  9. Django 页面报错 Maximum recursion depth exceeded

    Django 页面报错 Maximum recursion depth exceeded 原因: 视图中某个方法或函数的名称与django模块里的方法重名,而且在内部又调用了同名的方法导致重复调用自己 ...

最新文章

  1. 传统的6d位姿估计fangfa1_基于改进的点对特征的6D位姿估计
  2. el-input怎么绑定回车事件
  3. 隐藏tabwidgt 用radiogroup来实现tab的切换
  4. CUDA动态库封装以及调用
  5. getsockname的使用
  6. 如何优化MySQL千万级大表
  7. 机器学习 建立模型_建立生产的机器学习系统
  8. Nginx安装手册(摘自入云龙老师教案,亲测可用)
  9. 05-IntelliJ IDEA清空项目缓存
  10. 剑指offer——数组中重复的数字
  11. CCNA11月20日战报
  12. mysql关键字了解
  13. Atitit 财政赤字解决方案
  14. 无人机——凤凰模拟器篇(五)遥控器的配置教程
  15. 华罗庚杯数学竞赛考试时间
  16. FreeCAD源码分析:Assembly3模块
  17. Gilbreath原理中的数学与魔术(一)——Gilbreath Shuffle First Principle
  18. 机器学习算法(一):基于逻辑回归的分类预测
  19. 泊松分布与指数分布的理解
  20. 如何查看Windows11系统是否为永久激活?

热门文章

  1. Facebook提升性能的一大法宝:HipHop
  2. Documentum常见问题2—压力测试时一旦用户数超过一定数量就不能登录了
  3. ArcGIS Server .Net Web ADF体系结构
  4. WIFI 一键配置原理-ESP8266
  5. ios怎么玩java模拟器游戏_新方式玩iOS手游 水果模拟器让电脑运行苹果iOS
  6. 每次执行java命令 都要source_跟着平台混了四年,现在要单飞了!
  7. 计算器初步添加消息响应
  8. java 静态类 new_java静态类new的对象是否能被回收?
  9. php 画虚线,HTML5 Canvas绘制圆点虚线实例_html5教程技巧
  10. 华为浏览器推荐关闭_用华为手机这5个功能要关掉,越早越好,不然你的手机会变的卡顿...