首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >避免递归python函数中的“内存耗尽”错误

避免递归python函数中的“内存耗尽”错误
EN

Stack Overflow用户
提问于 2015-08-19 00:54:46
回答 1查看 2.2K关注 0票数 2

我编写了一个递归python函数。30分钟-1小时后,由于内存耗尽,它取消了进程。如果我查看任务管理器,我还会发现过多的内存被使用。如果我重新启动这个函数,一切都会好起来的。我怎样才能避免这个问题,让程序“永远运行”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 01:22:21

根据经验,您不应该在长时间运行的程序中使用递归调用.当然也有例外..。

当应用程序指示管理需要该功能的东西时,通常使用递归函数:例如。遍历树结构,或在数据库中查找某些内容,直到达到一定的详细程度。

长时间运行的程序很少属于那一类.即使是用机器人抓取页面也总是有一个参照点(当一个站点的“刮”完成时),递归必须从零开始。有时很难诊断出这个问题(我发现,在我的网站日志中,有一个更著名的机器人被困在一个坏链接上的无限循环中。)小心无限的循环!)

扩展Python的堆栈很少是解决方案..。向代码中添加行,以检查应用程序中递归深度是否以已知间隔返回到0。或者加上深度计数器..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32084838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档