找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3891|回复: 3

[求助] python运行程序内存逐渐上升

1

主题

1

帖子

1

积分

贫民

积分
1
tttj315 发表于 2017-3-7 20:01:08 | 显示全部楼层 |阅读模式
萌新刚用python不久,遇到这个坎查了好久都解决不了,求大神解答。。

大概问题就是我在跑一个多重循环,每次从本地读一个csv,然后经过一个函数处理后给出一个结果的表和几张图,最后再输出到本地。

问题就在程序跑了大概两个小时后内存就会被占满,然后python就没法继续工作下去了,这时候可能才读了几百张csv吧 (我有几万张csv要读。。)

我上网查了下感觉是不是出在python内存不释放这个点上?但我的大部分对象都是在函数里创建,每循环一遍原来的值不都应该丢弃吗?在函数内外加了del和gc.collect()都没有效果,内存在每跑一次循环后都要上升一点

大体的代码如下:

A=[]
B=[]
C=[]
for a in xrange(len(A)):
    for b in xrange(len(B)):
         for c in xrange(len(C)):
                 Function(A[a],B[b],C[c])

A,B,C三个list里面都是一些字符串,函数读取后是可以自己去本地读文件,算法处理,最后再输出结果的

请大神帮忙解答。
回复

使用道具 举报

2

主题

12

帖子

12

积分

贫民

积分
12
kpuppy 发表于 2017-3-8 16:42:24 | 显示全部楼层
打开文件的时候用with open as,否则要自己关闭,没有自己close的文件,python不知道你是否还要使用无法释放
回复 支持 反对

使用道具 举报

0

主题

7

帖子

7

积分

贫民

积分
7
pietyknight 发表于 2017-3-9 19:11:53 | 显示全部楼层
作为新手,长知识了! 谢谢分享!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
yimin.t 发表于 2017-4-10 14:34:23 | 显示全部楼层
我也觉得是文件没有close的原因
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表