繁体   English   中英

逐行写入文件时内存不足[Python]

[英]Running out of RAM when writing to a file line by line [Python]

我对一些大数据有数据处理任务。 我使用Python在EC2上运行脚本,如下所示:

with open(LARGE_FILE, 'r') as f:
    with open(OUTPUT_FILE, 'w') as out:
        for line in f:
            results = some_computation(line)
            out.write(json.dumps(results))
            out.write('\n')

我逐行遍历数据,并将结果逐行写入另一个文件。

运行了几个小时后,我无法登录服务器。 我必须重新启动实例才能继续。

$ ssh ubuntu@$IP_ADDRESS
ssh_exchange_identification: read: Connection reset by peer

服务器可能内存不足。 写入文件时,RAM会缓慢爬升。 我不确定为什么逐行读取和写入内存时会出现问题。

我有足够的硬盘空间。

我认为与这个问题最接近: Python的“打开”功能是否将其内容保存在内存中或临时文件中?

我正在使用SpaCy进行一些文本预处理。 看起来使用分词器会导致内存稳定增长。

https://github.com/spacy-io/spaCy/issues/285

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM