python内存管理错误的_Python内存管理问题

我有一个关于python代码的内存管理的问题。这是密码def combo_counter(file_path,title_body,validation=None,val_set=None,val_number=None):

combo_count={}

counter=0

with open(file_path+"/Train.csv") as r:

reader=csv.reader(r)

next(r)

if title_body=='body':

for row in reader:

if (validation is not None) and ((int(row[0])>val_set[0]) and (int(row[0])

continue

counter+=1

if counter%10000==0:

print counter

no_stops=body_parser(row)

a=' '.join(no_stops)

b=row[3]

for x, y in product(a.split(), b.split()):

if x+" "+y in combo_count:

combo_count[x+" "+y]+=1

else:

combo_count[x+" "+y]=1

return combo_count

def body_parser(row):

soup=BS(row[2],'html')

for tag in soup.findAll(True):

if tag.name in bad_tags:

tag.extract()

code_removed=soup.renderContents()

tags_removed=re.sub(r']+>', '', code_removed)

parse_punct=re.findall(r"[\w+#]+(?:[-'][\w+#]+)*|'|[-.(]+|\S[\w+#]*",tags_removed)

no_punct=' '.join(w.lower() for w in parse_punct if w not in string.punctuation)

no_stops=[b for b in no_punct.split(' ') if not b in stops]

return no_stops

所以基本上我是逐行读取一个csv文件,并对每一行进行解析,然后使用一个名为combo_count的字典来计算共现次数。问题是字典,一旦导出,只有1.2GB左右,但是当我运行这段代码时,它使用的内存要比这个多很多。但是我能看到的唯一会消耗大量内存的东西就是字典。我怀疑有什么不该用的内存。每行处理完毕后,除了计数字典外,所有内容都应该从内存中删除。有人能看到代码中除了字典之外会耗尽内存的东西吗?我怀疑它在body_解析器函数中的某个地方。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值