函数递归时,递归次数到900多时,就是抛出异常exception RuntimeError('maximum recursion depth exceeded',)

import subprocess
import multiprocessing
import urllib
import sys
import os
import pymongo
import signal
import time
client=pymongo.MongoClient("192.168.139.143",27017)
db=client.domaindb
collection=db.domain

def getdomain(i):
        print("process id=%d,paren process id=%d,ppange=%d"%(os.getpid(),os.getppid(),i))
        time.sleep(1)
        getdomain(i+1)


if __name__ == ‘__main__‘:
        try:
                pool=multiprocessing.Pool(6)
                pool.map(getdomain,range(8))
                #pool.map_async(getdomain,range(9)).get(10)
                pool.close()
        except  KeyboardInterrupt:
                print ‘get ctrl+c whild pool‘
                pool.terminate()
        #except  TimeoutException:

        except  Exception ,e:
                print ‘thrwo exception %r‘%(e)
        finally:
                print ‘joining complete‘
                #pool.join()
                print ‘join compele‘
        print ‘the end‘

函数递归时,递归次数到900多时,就是抛出异常exception RuntimeError('maximum recursion depth exceeded',)

时间: 2024-12-28 21:04:38

函数递归时,递归次数到900多时,就是抛出异常exception RuntimeError('maximum recursion depth exceeded',)的相关文章

Python递归报错:RuntimeError: maximum recursion depth exceeded in comparison

Python中默认的最大递归深度是989,当尝试递归第990时便出现递归深度超限的错误: RuntimeError: maximum recursion depth exceeded in comparison 简单方法是使用阶乘重现: 1 #! /usr/bin/env Python 2 3 def factorial(n): 4 5 if n == 0 or n == 1: 6 7 return 1 8 9 else: 10 11 return(n * factorial(n - 1)) >

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

当你的程序递归的次数超过999次的时候,就会引发RuntimeError: maximum recursion depth exceeded. 解决方法两个: 1.增加系统的递归调用的次数: import sys sys.setrecursionlimit(n) n为你想要的递归上限 2.优化代码,减少递归的次数. 原文地址:https://www.cnblogs.com/everfight/p/maximum_recursion.html

Python的最大递归深度错误 “maximum recursion depth exceeded while calling a Python object”

今天在写爬虫的时候,发现了一个诡异的事情,使用str方法强制转换一个BeautifulSoup对象成字符串的时候报错了,提示是"maximum recursion depth exceeded while calling a Python object",意思大致是"当调用该对象超过最大递归深度" 报错如下:   Traceback (most recent call last):   File "<stdin>", line 1, 

Odoo8查询产品时提示&quot;maximum recursion depth exceeded while calling a Python object&quot;

今天在生产系统中查询产品时,莫名提示错误:maximum recursion depth exceeded while calling a Python object,根据错误日志提示,发现在查询产品时,系统会构造一个domain,查询所有库位的库存量.当仓库较多的时候,构造的这个domain比较长,然后解析这个domain的方法distribute_negate是递归调用,因为递归次数太多,所以就提示错误. 根据源码查看了生成domain的条件,这个部分不太好调整,所以后来直接找了个方法来增加

Python 5.函数作用域与递归(基础篇)

本章大纲: -变量作用域- 变量由作用范围限制 两种不同的作用域: 全局(global):在函数外部定义 局部(local):在函数内部定义 变量的作用范围 全局变量 在整个程序范围都有效 全部变量可以在局部范围里面使用 局部变量在局部范围内可以使用 局部变量无法在全局范围内使用 LEGB原则 L(Local)局部作用域 E(Enclosing function locale)外部嵌套函数作用域(命名空间) G(Global module)全局变量,函数定义所在模块的命名空间 B(Buildin

python Day3 集合 文件处理 函数 字符编码 递归 高级函数

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时

11.高阶函数(匿名/*递归/函数式)对象编程基础

高阶函数匿名函数匿名函数存在的情况:内置函数函数式编程递归函数式编程面向对象的程序设计类:实例:OOP类的名称空间/对象的名称空间 高阶函数 匿名函数 lambda x:x+y #return x+y 定义标志/参数(形式类似函数传参)/跟表达式(返回) 匿名函数存在的情况: 执行完这行之后,如果没有被赋值给别的变量 其引用计数为0,就会被内存垃圾回收机制清空 from functoolimport reduce sorted 倒序并且生成新列表/sort是仅仅倒序 map 映射 reduce

函数通信和递归详解

一 函数通信 函数通信就是不同函数之间如何实现变量的共享交换.实现方法大概有三种:参数传递,返回值,全局变量.下面举例来说明这3中方法. 1 参数传递就是把函数名当做另外一个函数的参数来传递,这样2个函数就可以相互通信,为了方便使用了JavaScript语法. function fn1(str){ console.log(str); }; function fn2(fn1){ fn1("Hello World"); }; fn2(fn1); 上面代码fn2可以利用参数fn1,在自己的函

C语言函数的简单递归调用

#include <stdio.h> int age(int n);//外部声明 int main() {     printf("age=%d\n",age(5));//age=18--递归-输出第五个学生的年龄     return 0; } int age(int n) {     //在调用一个函数的过程中又出现直接或者间接的调用该函数本身,称为递归调用     int c;     if (n==1) {         c=10;     }else{