栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当使用Python处理巨大的CSV突然停止时,“杀死”是什么意思?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当使用Python处理巨大的CSV突然停止时,“杀死”是什么意思?

退出代码137(128 + 9)表示您的程序由于接收到信号9而退出了

SIGKILL
。这也解释了该
killed
消息。问题是,您为什么收到该信号?

最可能的原因可能是您的进程超出了允许使用的系统资源量的某些限制。根据您的操作系统和配置,这可能意味着您有太多打开的文件,使用了过多的文件系统空间或其他东西。最有可能的是您的程序使用了过多的内存。当内存分配开始失败时,系统没有发出危险,而是向使用过多内存的进程发送了终止信号。

如前所述,打印后您可能会达到内存限制的一个原因

finishedcounting
是,您
counter.items()
在最终循环中对的调用会分配一个列表,其中包含字典中的所有键和值。如果您的词典中有很多数据,那么这可能是一个很大的列表。一种可能的解决方案是使用
counter.iteritems()
哪个是发电机。无需返回列表中的所有项目,而是让您以更少的内存使用量对其进行迭代。

因此,建议您尝试此操作,作为您的最终循环:

for key, value in counter.iteritems():    writer.writerow([key, value])

请注意,在Python 3中,

items
返回的“字典视图”对象的开销与Python
2的版本不同。它取代了
iteritems
,因此,如果以后升级Python版本,最终将把循环改回原来的样子。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/638711.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号