我有一段代码,它处理一个目录中的数千个文件,对于每个文件,它生成一个对象(字典),其中部分键值为:
{
........
'result': [...a very long list...]
}
如果我处理所有的文件,将结果保存在一个列表中,然后使用jsonlines库来写入所有文件,我的笔记本电脑(mac)的内存就会用完。在
所以我的解决方案是逐个处理,得到结果,然后插入jsonline文件,删除对象并释放内存。在
核对公文后: https://jsonlines.readthedocs.io/en/latest/
我找不到一个不重写jsonline文件就可以写的方法。在
所以我怎么能处理这么大的产量。在
另外,我使用并行线程来处理结果:
^{pr2}$我希望打开json_文件,写入每个结果,然后释放内存。在
如果我能正确理解你的问题,我想这会解决问题:
正如您提到的重写文件,我认为这是因为您使用
mode='w'
(w=写入)而不是使用mode='a'
(a=appending)相关问题 更多 >
编程相关推荐