美文网首页
调用Python对象时超过了最大递归深度 2023-01-07

调用Python对象时超过了最大递归深度 2023-01-07

作者: 土雕艺术家 | 来源:发表于2023-03-03 09:51 被阅读0次

    使用multiprocessing.Pool解析xml的迭代报错

    RecursionError: maximum recursion depth exceeded while calling a Python object
    
    

    传入的input_list因为BeautifulSoup解析的内容,其内部包含多层嵌套。所以在运行过程中超过最大的递归深度。

    list_info = BeautifulSoup(record, "xml")
    input_list=list(list_info.find_all("EXPERIMENT"))
    pool = multiprocessing.Pool(processes=num_processes,maxtasksperchild=10000)
    res_dict_iter = list(tqdm(pool.imap(func=Function1, iterable=input_list), total=len(input_list)))
    
    

    改变sys.setrecursionlimit(3000)真的是治标不治本,还是将传入数据变成str这样就解除了迭代,导入函数内后再次用BeautifulSoup解析就可以解决问题了。

            inputstr_list=[]
            for item in list(list_info.find_all("EXPERIMENT_PACKAGE")):
                inputstr_list.append(str(item))
    

    相关文章

      网友评论

          本文标题:调用Python对象时超过了最大递归深度 2023-01-07

          本文链接:https://www.haomeiwen.com/subject/mzjscdtx.html